@lolrofl01

Почему не работают мутаторы в laravel при джоинах?

Добрый день!
Скажите, пожалуйста, почему не работают геттеры при джоинах? Т.е. вот, к примеру, у меня есть геттер аватара из таблицы users. В модели код такой:
public function getAvatarAttribute($value)
    {
        if( $value == null ) {
            return asset('img/users/no-avatar.png');
        }
        else {
            return asset('img/users/' . $value);
        }
    }


Если брать юзеров напрямую из модели users - все гуд. Если же сделать выборку нескольких таблиц через join - то геттер больше не срабатывает. Как-то можно заставить его срабатывать в любом случае, когда дело касается поля avatar в users?

Вот код join
$comments = Comments::leftJoin('users', 'users.id', '=', 'comments.user_id')
->get();
  • Вопрос задан
  • 166 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Ну так ведь выборка из комментов знать не знает ничего про модель юзерс.

Стройте отношения между моделями и делайте выборку через with() или просто ленивой загрузкой.

Этот джоин тут совершенно не нужен в сыром виде.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы