Cache ::记得在Laravel 5中导致异常

Mat*_*aly 1 laravel laravel-5

我正在努力在Laravel 5中缓存查询.我编写了以下代码,它看起来与文档中的内容一致:

    // Get ID
    $id = Auth::id();

    // Get user
    $user = Cache::remember('user-' . $id, 5, function ($id) { 
        return User::find($id);
    });
Run Code Online (Sandbox Code Playgroud)

但它引发了以下错误:

Missing argument 1 for App\Providers\RouteServiceProvider::{closure}()
Run Code Online (Sandbox Code Playgroud)

知道我哪里出错了吗?

Mar*_*ala 5

试试这个,为闭包函数添加方法的机制与你使用的有点不同.

$user = Cache::remember('user-' . $id, 5, function() use ($id) { 
    return User::find($id); //                       ^^^
});
Run Code Online (Sandbox Code Playgroud)