У меня есть две таблицы, Userи Post. У одного Userможет быть много, postsа у одного post- только один user.
В моей Userмодели у меня есть hasManyотношение ...
public function post(){
return $this->hasmany('post');
}
И в моей postмодели у меня есть belongsToотношение ...
public function user(){
return $this->belongsTo('user');
}
Теперь я хочу объединить эти две таблицы, используя Eloquent with()отдельные столбцы из второй таблицы. Я знаю, что могу использовать Query Builder, но не хочу.
Когда в Postмодели я пишу ...
public function getAllPosts() {
return Post::with('user')->get();
}
Он запускает следующие запросы ...
select * from `posts`
select * from `users` where `users`.`id` in (<1>, <2>)
Но то, что я хочу, это ...
select * from `posts`
select id,username from `users` where `users`.`id` in (<1>, <2>)
Когда я использую ...
Post::with('user')->get(array('columns'....));
Возвращает только столбец из первой таблицы. Я хочу использовать конкретные столбцы with()из второй таблицы. Как я могу это сделать?
$query->select('id','username');, я получалTrying to get property of non-object