Я пытаюсь отфильтровать данные кеша с помощью приведенного ниже кода
$Categories = \Cache::rememberForever('Categories', function() {
return \App\Models\Skill\Category_Model::all();
});
$Category = $Categories::where("CategoryID", "=", $id)->first();
Детали ошибки:
Нестатический метод Illuminate \ Support \ Collection :: where () не должен быть
вызывается статически, предполагая $ this из несовместимого контекста
Я что-то пропустил?
Я имел в виду, какой самый быстрый способ фильтрации данных в кеше объекта. Объект кэша — это Модель. Массив категорий содержит коллекцию моделей, которая содержит идентификатор категории. и я хочу фильтровать данные на основе CategoryID
Вы должны использовать:
$Categories->where("CategoryID", $id)->first();
// or
$Categories->where("CategoryID", '=', $id)->first();
where
нельзя вызывать статически. Оформить заказ Illuminate\Support\Collection
,
Редактировать:
Вы можете назвать это статическим только в модели Eloquent, как вы и пытались. И потому что вы уже получили результаты (в коллекцию).
Других решений пока нет …