Php 搜索分页laravel结果

Php 搜索分页laravel结果,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我的控制器中有一个搜索功能,但它不起作用 方法Illumb\Database\Eloquent\Collection::paginate不可用 存在 如何修复它?试试这个: public function cari_user_status(Request $request) { $users = User::orderBy('created_at', 'DESC')->paginate(10); if ( ! empty($request->nama)

我的控制器中有一个搜索功能,但它不起作用

方法Illumb\Database\Eloquent\Collection::paginate不可用 存在

如何修复它?

试试这个:

public function cari_user_status(Request $request)
{       
    $users = User::orderBy('created_at', 'DESC')->paginate(10);

    if ( ! empty($request->nama))
    {
        $users = $users->where('name', $request->nama)->paginate();
    }

    return view('users.index',  compact('users'));        
}

您的“$request->nama”中也有一个输入错误,这是错误的原因,因为您正在对分页结果应用过滤器,即

$users = User::latest()
    ->when( ! empty($request->get('name')), function ($query) use ($request) {
        return $query->whereRaw("UPPER(name) LIKE '%" . strtoupper($request->get('name')) . "%'");
    })
    ->paginate(10);

return view('users.index', [
    'users' => $users,
]);
像这样试试

$users = User::orderBy('created_at', 'DESC')->paginate(10);
if ( ! empty($request->nama))
{
    // Problem is here $users is a collection of paginated result
    $users = $users->where('name', $request->nama)->paginate();
}
public function cari_user_status(Request $request)
{       
    $users = (new User())->query(); 

    if ( ! empty($request->nama))
    {
        $users->where('name', $request->nama);
    }

    $users = $users->orderBy('created_at', 'DESC')->paginate(10);

    return view('users.index',  compact('users'));        
}