我已将以下代码用于条件查询。但是我没有在foreach语句中得到结果但是如果我使用$ member-> first()我得到了结果。这是在laravel中使用条件的正确方法吗?
$member = Member:query();
if(!empty($param['activity'])){
$member->where('activity', 'LIKE', $param['activity'] .'%');
}
if(!empty($param['MemberName'])){
$member->where('MemberName', 'LIKE', $param['MemberName'] .'%');
}
if(!empty($param['Designation'])){
$member->where('Designation', 'LIKE', $param['Designation'] .'%');
}
$member->take(100)->skip($offset)->get();
foreach ($member as $arr)
{
....
}
答案 0 :(得分:1)
这是完全正确的方法。但是你错过了一件小事。 get()
将返回结果,但 $member
仍将是查询构建器实例。您需要做的是将结果分配给$member
$member = $member->take(100)->skip($offset)->get();