如何在Laravel Eloquet中应用分页和偏移

时间:2019-08-19 09:15:33

标签: php laravel eloquent pagination offset

我正在搜索用户名和电子邮件,以下是我的身体要求

{
 "email": "shah",
 "name": "shah",
}

我想在此api中应用分页和偏移,它将采用另外两个参数,即偏移和分页,它们将进行相应搜索,而我的身体要求将是这样的:

{
 "email": "shah",
 "name": "shah",
 "offset": 1,
 "paginate": 1
}

我的代码:

$pram = $request->name;
$email= $request->email;
$roleId= $request->role_id;

$results = User::where('email','like', '%' . $email . '%')
    ->WhereHas('userBasicInfo', function ($query) use ($pram) {
        $query->where('first_name', 'like', '%' . $pram . '%')
            ->orWhere('middle_name', 'like', '%' . $pram . '%')
            ->orWhere('last_name', 'like', '%' . $pram . '%');
    })->with(['userBasicInfo' => function ($query) use ($pram) {
        $query->where('first_name', 'like', '%' . $pram . '%')
            ->orWhere('middle_name', 'like', '%' . $pram . '%')
            ->orWhere('last_name', 'like', '%' . $pram . '%');
    }])->get()->toArray();

如何在上述带有两个参数的API中应用分页和偏移。 您的帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

尝试这个

$results ['result'] = User::where('email','like', '%' . $email . '%')
    ->WhereHas('userBasicInfo', function ($query) use ($pram) {
    $query->where('first_name', 'like', '%' . $pram . '%')
        ->orWhere('middle_name', 'like', '%' . $pram . '%')
        ->orWhere('last_name', 'like', '%' . $pram . '%');
    })->with(['userBasicInfo' => function ($query) use ($pram) {
    $query->where('first_name', 'like', '%' . $pram . '%')
        ->orWhere('middle_name', 'like', '%' . $pram . '%')
        ->orWhere('last_name', 'like', '%' . $pram . '%');
    }])->paginate(6);

    return view('Your View PHP', $results);