Необходимо вывести статьи созданные пользователями, на которых пользователей подписан пользователь.
Есть 3 таблицы
Users - поля id
Posts - поля id, user_id
Subscriptions- поля id, user_id(пользователь), user_sub_id(на кого подписан, одно значение)
Модели
class User extends EloquentUser{
public function postsSub(){
return $this->hasManyThrough('App\Post', 'App\Subscription', 'user_id', 'user_id');
}
}
В контроллере делаю следующее
$posts = User::find(1)->postsSub()->toSql();
Получаю запрос
select * from `posts` inner join `subscriptions` on `subscriptions`.`id` = `posts`.`user_id` where `subscriptions`.`user_id` = 1
Мне же нужно чтобы в запросе вместо `subscriptions`.`
id` = `posts`.`user_id` было `subscriptions`.`
user_sub_id` = `posts`.`user_id`
Собственно как можно сформировать такой запрос
select * from `posts` inner join `subscriptions` on `subscriptions`.`user_sub_id` = `posts`.`user_id` where `subscriptions`.`user_id` = 1
Ну или как то это по другому можно сделать?