テーブルが2つUser
ありPost
ます。1つUser
は多数をposts
持ち、1つpost
は1つだけに属しuser
ます。
私のUser
モデルにはhasMany
関係があります...
public function post(){
return $this->hasmany('post');
}
そして、私のpost
モデルにはbelongsTo
関係があります...
public function user(){
return $this->belongsTo('user');
}
次に、これらの2つのテーブルを使用して結合したいのですがEloquent with()
、2番目のテーブルの特定の列が必要です。クエリビルダーを使用できることはわかっていますが、使用したくありません。
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()
2番目のテーブルから使用する特定の列が必要です。どうやってやるの?
$query->select('id','username');
とすぐに、次のようになりましたTrying to get property of non-object