Laravel столбец не найден - PullRequest
0 голосов
/ 15 марта 2020

У меня появляется эта ошибка, когда я пытаюсь получить среднюю сумму для рейтинга моих товаров:

public function index () {
    $items=Item::with('currency', 'origin', 'category', 'itemFiles', 'itemRatings')
    ->sum('item_price)
    ->get();
    return $items
}

И это ошибка для этой функции и для этого процесса:

Подсветка \ База данных \ QueryException: SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'rate' в 'списке полей' (SQL: выберите сумму (rate) как совокупность из items) в файле C: \ xampp \ htdocs \ in-iraq-laravel \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connection. php в строке 669

Не принял метод get для этого процесса, и я не знаю, почему? Он продолжает давать мне это:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError: вызов функции-члена get () для float в файле C: \ xampp \ htdocs \ in-iraq- laravel \ app \ Http \ Controllers \ ItemController. php в строке 42

Что в этом плохого?

Ответы [ 3 ]

0 голосов
/ 15 марта 2020
max()
avg()
sum()

не пользуйтесь get after них

0 голосов
/ 15 марта 2020

sum() - агрегатная функция. Нет необходимости использовать get() при использовании агрегатной функции.

Согласно Laravel doucmenation:

Метод sum возвращает сумму всех элементов в коллекции ,

Изменить

$items=Item::with('currency', 'origin', 'category', 'itemFiles', 'itemRatings' )->sum('item_price)->get();

на

 $items=Item::with('currency', 'origin', 'category', 'itemFiles', 'itemRatings' )->sum('item_price);

Laravel -> Запросы -> Агрегаты

Laravel -> Коллекция -> Сумма

0 голосов
/ 15 марта 2020

Не используйте get() после использования метода sum(). Sum возвращает число, в данном случае число с плавающей запятой.

См. этот раздел Laravel документации

Что касается вашей другой проблемы, у вас, похоже, отсутствует столбец или проблема в том, как вы определяете отношения между вашими моделями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...