我有两个表,user
和post
。一个用户
可以有多个帖子
并且一个帖子
只属于一个用户
。
在我的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()
的特定列。我怎么能那样做?
我找到了解决办法。可以通过在中使用()
传递闭包
函数作为数组的第二个索引来实现
Post::query()
->with(array('user' => function($query) {
$query->select('id','username');
}))
->get();
它将只从其他表中选择ID
和username
。我希望这能帮助到别人。
请记住,主键(在本例中为id)需要是$query->select()
中的第一个param,以实际检索必要的结果。*
问题内容: 我有两个表,和。一个可以有许多,一个只能属于一个。 在我的模型中,我有一个关系… 在我的模型中,我有一个关系… 现在,我想使用来连接这两个表,但是想要第二个表中的特定列。我知道我可以使用查询生成器,但我不想这样做。 当我在模型中写… 它运行以下查询… 但是我想要的是… 当我使用… 它仅返回第一个表中的列。我想使用第二个表中的特定列。我怎样才能做到这一点? 问题答案: 好吧,我找到了解决
问题内容: 我想要Excel中特定行的列数。那怎么可能?我使用了POI API 但是我只能得到7的列数。 我希望特定行号的列数为10。excel列不一样 问题答案: 您可以做两件事 用 要么 他们之间有很好的区别 选项1给出实际填充内容的列数(如果10列的第二列未填充,您将得到9) 选项2仅给您最后一列的索引。因此完成了“ getLastCellNum()”
我想从这个代码中得到的数组中得到一个特定的数组数据: 结果是: 数组(1){[“用户”]= 我想得到的是用户名值,我尝试过这样的解决方案: 但它给了我这样的错误: 正在尝试获取非对象的属性“username” 如何解决这个问题?谢谢你的关注。
但是,它没有从地址表返回正确的。我怎么能那么做? 这是我得到的错误消息:
在我们的应用程序中,我们有CDI(@Application ationScoped注释)和EJB(@无状态注释)bean,其结构如下: 我使用下面的方法获取应用程序中实现MyInterface的所有bean(CDI和EJB): 在这里,我看到了两件奇怪的事情: 我只得到CDI豆,没有EJB豆。 当创建直接实现MyInterface接口的EJB bean时,不扩展MyAbstractClass,比在