laravel eloquent 多个where语句
laravel eloquent multiple where statement
我使用了以下代码进行有条件的 where 查询。但是我没有在 foreach 语句中得到结果,但是如果我使用 $member->first() 我得到了结果。这是在 laravel 中使用条件 where 的正确方法吗?
$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)
{
....
}
这完全是正确的做法。但是你错过了一件小事。 get()
将 return 结果 但 $member
仍将是查询生成器实例。您需要做的是将结果分配给 $member
$member = $member->take(100)->skip($offset)->get();
我使用了以下代码进行有条件的 where 查询。但是我没有在 foreach 语句中得到结果,但是如果我使用 $member->first() 我得到了结果。这是在 laravel 中使用条件 where 的正确方法吗?
$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)
{
....
}
这完全是正确的做法。但是你错过了一件小事。 get()
将 return 结果 但 $member
仍将是查询生成器实例。您需要做的是将结果分配给 $member
$member = $member->take(100)->skip($offset)->get();