Суть вопроса, можно как-то без DI получить метод getProjectDir() в модели User?
Отношение пользователя к проекту один к одному. Есть модель Project и в ней есть такой метод
getProjectDir()class Project extends Model
{
public function user()
{
return $this->belongsTo(User::class, 'id');
}
public function getProjectDir()
{
return $this->project_dir;
}
}
И модель User с методом
class User extends Model
{
public function project()
{
return $this->hasOne(Project::class, 'user_id');
}
public function getAvatarAttribute($value)
{
if(is_null($value)) {
$avatar = '/img/admin/no-photo.jpg';
}else{
if(mb_strpos($value, "logo") !== false) {
$avatar = '/storage/projects/images/'.$this->project->getProjectDir().'/'.$value;
}else{
$avatar = '/img/admin/'.$value;
}
}
return $avatar;
}
}