Ошибка при фильтрации данных кэша: 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 из несовместимого контекста

Я что-то пропустил?

Я имел в виду, какой самый быстрый способ фильтрации данных в кеше объекта. Объект кэша — это Модель. Массив категорий содержит коллекцию моделей, которая содержит идентификатор категории. и я хочу фильтровать данные на основе CategoryID

-1

Решение

Вы должны использовать:

$Categories->where("CategoryID", $id)->first();
// or
$Categories->where("CategoryID", '=', $id)->first();

where нельзя вызывать статически. Оформить заказ Illuminate\Support\Collection,

Редактировать:

Вы можете назвать это статическим только в модели Eloquent, как вы и пытались. И потому что вы уже получили результаты (в коллекцию).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]