Добрый день, помогите пожалуйста! Пытаюсь передать объект в функции - получаю ошибку Call to a member function first() on integer.
Есть класс с методом в котором получаю из БД объект и передаю его во вьюху
$fields = DB::table('fields')->where('user_id', '=', Auth::user()->id)->get();
return view('field', [
'fields' => $fields
]);
Во вьюхе я передаю этот объект в функцию {{ fieldClass($fields, $i) }}, где производятся определенные вычисления и вывод. Можно было бы в самой функции получить этот объект из БД, но функция вызывается на странице много раз, что бы уменьшить количество запросов, хочу работать с обектом.
Код функции fieldClass()
if (!function_exists('fieldClass')) {
function fieldClass($fields, $i) {
// Получаю из объекта(БД) строку где поле number == $i
$field = $fields->first(function($item) use ($i) {
return $item->number == $i;
});
В итоге получаю ошибку Call to a member function first() on integer