我有两张桌子,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()
连接这两个表,但需要第二个表中的特定列.我知道我可以使用查询构建器,但我不想这样做.
当我在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()
的特定列.我该怎么做?