Laravel 多条件查询
例如:条件有商户id,公司名称,状态,页数,每页长度,laravel orm查询后返回的是一个builder对象 ,每次where没有返回值,这么使用没有问题,不太懂原理,有人可以说说吗?
$merchantList = Users::from('users as u')
->join('merchant as m','m.admin_id','u.id')
->select('u.id','m.merchant_no','u.username','m.company_name','m.secret_key','u.created_at','u.status');
//商户账号id
$userId = $request->id;
if (isset($userId)) {
$merchantList->where('u.id', $userId);
}
//公司名称
$company_name = $request->company_name;
if (isset($company_name)) {
$merchantList->where('m.company_name', $company_name);
}
//状态
$status = $request->status;
if (isset($status)) {
$merchantList->where('u.status', $status);
}
//页数
$page = $request->page ?? 1;
//每页长度
$pageSize = $request->page_size ?? 10;
//偏移开始值
$offset = ($page -1) * $pageSize;
//总数
$count = $merchantList->count('u.id');
$merchantData = $merchantList->offset($offset)
->limit($pageSize)
->orderBy('status', 'desc')
->orderBy('id', 'desc')
->get()
->toArray();
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: