通过加入另一个表
来获取初始数据$results = Model::join('joining other table')
->where('initial condition')
->limit(100)->get();
现在,我需要通过一些额外的条件来过滤数据。
$new = $results->where('column',value); // Additional Condition
我尝试了这个但是它返回空集合,即使在$ results集合中仍然存在。是否可以在后面的部分使用where条件?。
答案 0 :(得分:1)
您可以使用非常强大的模型关系。如果您定义不同模型之间的关系,可以调用:
User::with(['posts' => function($builder){
$builder->where('published', true) // this is on the relationship (posts)
}])->get();
您还可以执行以下操作:
Post::whereHas(['user' => function($builder){
$builder->where('confirmed', true);
}])->get();
这只会返回确认相关用户的帖子......
答案 1 :(得分:0)
你试过了吗?
Model::join('joining other table')
->where('initial condition')
->where('column',value)
->limit(100)->get();