Eu tenho duas mesas Usere Post. Um Userpode ter muitosposts e um postpertence a apenas um user.
No meu Usermodelo eu tenho uma hasManyrelação ...
public function post(){
return $this->hasmany('post');
}
E no meu postmodelo eu tenho uma belongsTorelação ...
public function user(){
return $this->belongsTo('user');
}
Agora eu quero juntar essas duas tabelas usando Eloquent with() mas quero colunas específicas da segunda tabela. Sei que posso usar o Query Builder, mas não quero.
Quando no Postmodelo eu escrevo ...
public function getAllPosts() {
return Post::with('user')->get();
}
Ele executa as seguintes consultas ...
select * from `posts`
select * from `users` where `users`.`id` in (<1>, <2>)
Mas o que eu quero é ...
select * from `posts`
select id,username from `users` where `users`.`id` in (<1>, <2>)
Quando eu uso ...
Post::with('user')->get(array('columns'....));
Ele retorna apenas a coluna da primeira tabela. Quero colunas específicas usando a with()partir da segunda tabela. Como eu posso fazer isso?
$query->select('id','username');, eu estava recebendo #Trying to get property of non-object