@Corsair_TM

Laravel как передать объект в функцию?

Добрый день, помогите пожалуйста! Пытаюсь передать объект в функции - получаю ошибку 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
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы