У меня есть 3 стола пользователей, сообщений и фотографий.Laravel eloquent model - получить строки с использованием промежуточной таблицы
стол стол имеет одно - одно отношение к фотографиям & пользователей нравится post.user_id=users.id
и post_photo_id=photos._id
.
Я использую
public function posts(){
return $this->hasMany('Post');
}
и я получаю все сообщения от пользователя, используя $ user-> сообщений().
Что мне нужно - это получить все фотографии от пользователя, например, $ user-> photos.
SELECT photos.* FROM photos JOIN posts ON posts.photo_id=photos.id JOIN users ON users.id=posts.user_id WHERE user_id=1
Примечание: фотографии таблица имеет только 2 поля, ID & фото.
Попробуйте заклеивание ' -> whereIn() 'с подзапросом, или сделать соединение непосредственно по отношению. Отношение просто возвращает объект запроса, и все методы построения запросов присутствуют для использования. – jardis