Laravel Enloquent:如何从连接的表中只获取某些列 [英] Laravel Eloquent: How to get only certain columns from joined tables
本文介绍了Laravel Enloquent:如何从连接的表中只获取某些列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
主题模式:
public function user(){
return $ this-> belongs_to('User');
}
用户模型:
public function themes(){
return $ this-> has_many('Theme');
}
我的口才api通话如下所示:
return Response :: eloquent(Theme :: with('user') - > get());
哪些返回主题的所有列(没关系),以及用户的所有列(不好)。我只需要用户模型中的用户名列,我如何限制查询呢?
解决方案
更改你的模型指定要选择的列:
public function user(){
return $ this-> belongs_to 'User') - > select(array('id','username'));
}
不要忘了加入你加入的列。 / p>
I have got 2 joined tables in Eloquent namely themes and users.
theme model:
public function user() {
return $this->belongs_to('User');
}
user model:
public function themes() {
return $this->has_many('Theme');
}
My Eloquent api call looks as below:
return Response::eloquent(Theme::with('user')->get());
Which returns all columns from theme (that's fine), and all columns from user (not fine). I only need the 'username' column from the user model, how can I limit the query to that?
解决方案
Change your model to specify what columns you want selected:
public function user() {
return $this->belongs_to('User')->select(array('id', 'username'));
}
And don't forget to include the column you're joining on.
这篇关于Laravel Enloquent:如何从连接的表中只获取某些列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文