我想引用一个私有函数作为 Cache::remember 函数的第三个参数。
取而代之的是(删除了 try{}catch() 以获得更简洁的代码):
class ApiController extends Controller
{
public function index(){
$data = Cache::remember('dataKey', 60, function () {
return Model::multipleMethodsHere()->get();
});
return response()->json($data,200);
}
}
我想这样做:
class ApiController extends Controller
{
public function index(){
$data = Cache::remember('dataKey', 60, $this->getIndex());
return response()->json($data,200);
}
private function getIndex(){
return Model::....->get();
}
}
如果我尝试引用私有函数,则会收到此错误。
Argument 3 passed to Illuminate\\Cache\\Repository::remember() must be an instance of Closure, instance of Illuminate\\Database\\Eloquent\\Collection given
可能吗 ?如果是,我该怎么办?