过滤缓存数据时出错:Laravel 5.2

时间:2015-12-18 10:22:19

标签: php laravel-5 laravel-5.1 laravel-5.2

我正在尝试使用以下代码

过滤缓存数据
$Categories = \Cache::rememberForever('Categories', function() {
    return \App\Models\Skill\Category_Model::all();
});

$Category = $Categories::where("CategoryID", "=", $id)->first();

错误详情:

  

非静态方法Illuminate \ Support \ Collection :: where()不应该是   静态调用,假设$ this来自不兼容的上下文

我错过了什么吗?

我的意思是,什么是过滤缓存对象中数据的最快方法。缓存对象是一个模型。 Categories Array包含包含categoryID ID的Models集合。我想根据CategoryID过滤数据

1 个答案:

答案 0 :(得分:1)

您应该使用:

$Categories->where("CategoryID", $id)->first();
// or
$Categories->where("CategoryID", '=', $id)->first();
无法静态调用

where。结帐课程Illuminate\Support\Collection

修改

您只能按照您尝试的方式在Eloquent模型上将其称为静态。因为你已经把结果提取到了Collection中。