Laravel Eloquent Accessor не работает в отношениях? - PullRequest
0 голосов
/ 28 мая 2020

У меня есть модель RelationDetails с 1 аксессуаром:

public function getFullNameAttribute()
{
   return "{$this->FirstName} {$this->Name}";
}

В моем контроллере у меня есть:

$annualPasses = Subscription::entrance()
    ->whereHas('Activation', function($query)
    {
        $query->whereDate('ValidUntil', '>=', Carbon::now());
    })
    ->with('RelationDetails')
    ->get();

Но когда я хочу использовать в своем blade: $annualpass->RelationDetails->FullName Я получил ошибку: Пытаюсь получить свойство FullName не-объекта

Что я делаю не так?

1 Ответ

1 голос
/ 28 мая 2020

Предполагается, что это $annualpass->RelationDetails->full_name

Кроме того, return "{$this->FirstName} {$this->Name}"; означает, что в вашей БД имя столбца FirstName ... Я рекомендую first_name таким образом {$ this-> first_name} . Конечно, вам также придется обновить свои миграции.

Я рекомендую пройти Laravel Рекомендации . Пожалуйста, следуйте стандартам именования. Так все становится проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...