@LP-DIMAN

Какая функция выполняет связывание таблиц в Eloquent ORM Laravel?

Разбираюсь в ORM laravel. Не пойму как связывать таблицы? Аналог joinов.Допустим у меня есть такой запрос
SELECT * FROM users as u left JOIN clients2adverts as c on u.id = c.id_client 
			left JOIN adverts as a ON c.id_adverts = a.id_realty
          WHERE c.lead = 1 and u.activated = 1 or u.id_role = 2

Как мне его переписать используя ORM?
  • Вопрос задан
  • 305 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
https://laravel.com/docs/5.2/queries#joins
В ORM нет функции для связывания таблиц, поскольку ORM оперирует объектами, а их связи описаны в классе модели и генерируются автоматически.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@newpy
web-dev
https://laravel.com/docs/5.2/eloquent-relationship...
в классе модели, отношения задают методы например hasMany(), hasOne(), belongsTo()
Пример из документации:
belongsTo принимает три параметра, два последних необязательны (нужны если вы хотите переопределить ключи), смотрите документацию EloquentORM, ссылка выше.
public function user()
{
    return $this->belongsTo('App\User', 'foreign_key', 'other_key');
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы