Задать вопрос
@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
  • Вопрос задан
  • 297 просмотров
Подписаться 2 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽