在Laravel Eloquent中使用“With()”函数获取特定列
2022-08-30 06:04:58
我有两张桌子,还有.一个可以有很多,一个只属于一个。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()