У меня есть четыре таблицыLaravel Eloquent извлечения данных из нескольких таблиц
**Articles table**
id
title
body
owner_id
category_id
**Favorite articles table**
id
user_id
article_id
**User table**
id
user_name
user_type
**Category table**
id
category_name
Как получить список любимых статей (article_name, owner_name, category_name), которые касаются текущего вошедшего пользователя из БД с помощью Laravel красноречивый?
Можно ли это сделать в одной строке запроса? например .:
$articles_data=Auth::user()->favorite_articles->article...
EDIT На данный момент я должен использовать заявление ниже:
$articles_data = FavoriteArticle::where('user_id', Auth::id())->join('articles', 'articles.id', '=', 'favorite_articles.article.id')
->join('users', 'users.id', '=', 'favorite_articles.user_id')
->join('categories', 'categories.id', '=', 'articles.id')
->get()
который выглядит немного сложнее и не использует красноречивые отношения.
Вы можете просто настроить [многие-ко-многим] (http://laravel.com/docs/5.1/eloquent-relationships#many-to-many) между ' Модель пользователя и модель «Статья». – Bogdan
Да, я могу, но как получить данные из других таблиц (значение category_name) – user947668
@ user947668 Я обновил свой ответ, надеюсь, что это поможет. cheers – AndreL