Делаю что-то типо соц. сети. Страница профиля. Получаю посты пользователя. Необходимо получить ещё авторов постов, если таковые и есть. Но не знаю как сделать(
Модель User:
/* Получаем данные по пользователю */
public static function getUser(string $login = null){
return User::where('login_users', $login)->first();
}
/* Получаем все зависимости */
public static function withUser(string $login){
$user = User::getUser($login); // Получаем данные о пользователе
// "Делаем ленивую нетерпеливую загрузку"
if($user){
$user->load(['posts']);
}
return $user; // Отдаём эти данные
}
/* Получаем все посты от пользователя */
public function posts(){
return $this->hasMany(Posts::class, 'user_posts', 'id_users');
}
/* Получаем всех авторов постов (не так получается) */
public function authorPosts(){
return $this->hasMany(Posts::class, 'userAdd_posts', 'id_users');
}
С этого кода выводится данные самого пользователя и посты с его страницы. Но теперь нужно получить ещё авторов по userAdd_posts (таблица posts). Как это сделать?
Уже не знаю что делать. Заранее спасибо.
PS: Может такой пример лучше будет: Соц. сеть. Страница пользователя. У пользователя есть посты. Они могут быть от разных пользователей. Мне нужно получить все посты (с данные об авторах), которые находятся у этого пользователя (берутся по условию, допустим, 'author_posts' == $id_user). Далее, как только получены все эти данные, то нужно будет ещё подгружать "лайки" и "репосты" (пока ещё к реализации этого не дошёл из-за непонятности как это сделать), точнее - количество.