Saya punya dua meja, Userdan Post. Seseorang Userdapat memiliki banyak postsdan satu postmilik hanya satu user.
Dalam Usermodel saya, saya memiliki hasManyhubungan ...
public function post(){
return $this->hasmany('post');
}
Dan dalam postmodel saya, saya memiliki belongsTohubungan ...
public function user(){
return $this->belongsTo('user');
}
Sekarang saya ingin bergabung dengan dua tabel ini menggunakan Eloquent with()tetapi ingin kolom khusus dari tabel kedua. Saya tahu saya bisa menggunakan Pembuat Kueri tetapi saya tidak mau.
Ketika dalam Postmodel saya menulis ...
public function getAllPosts() {
return Post::with('user')->get();
}
Ini menjalankan kueri berikut ...
select * from `posts`
select * from `users` where `users`.`id` in (<1>, <2>)
Tapi yang saya inginkan adalah ...
select * from `posts`
select id,username from `users` where `users`.`id` in (<1>, <2>)
Ketika saya menggunakan ...
Post::with('user')->get(array('columns'....));
Itu hanya mengembalikan kolom dari tabel pertama. Saya ingin menggunakan kolom spesifik with()dari tabel kedua. Bagaimana saya bisa melakukan itu?
$query->select('id','username');, saya mulaiTrying to get property of non-object