İki masam var Userve Post. Biri Userçok olabilir postsve biri postsadece birine aittir user.
Modelimde Userbir hasManyilişkim var ...
public function post(){
return $this->hasmany('post');
}
Ve postmodelimde bir belongsToilişkim var ...
public function user(){
return $this->belongsTo('user');
}
Şimdi bu iki tabloya katılmak Eloquent with()istiyorum ama ikinci tablodan belirli sütunlar istiyorum. Sorgu Oluşturucu'yu kullanabileceğimi biliyorum ama istemiyorum.
Ne zaman içinde Postmodeli ben yazma ...
public function getAllPosts() {
return Post::with('user')->get();
}
Aşağıdaki sorguları çalıştırır ...
select * from `posts`
select * from `users` where `users`.`id` in (<1>, <2>)
Ama istediğim ...
select * from `posts`
select id,username from `users` where `users`.`id` in (<1>, <2>)
Kullandığımda ...
Post::with('user')->get(array('columns'....));
Yalnızca ilk tablodaki sütunu döndürür. with()İkinci tablodan kullanarak belirli sütunlar istiyorum . Bunu nasıl yapabilirim?
$query->select('id','username');, alıyorumTrying to get property of non-object