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();