Я пытаюсь использовать загрузку Laravel для загрузки проблемы N + 1 в моем магазине.Eager Loading with Aggregate Functions
-A Продукт hasMany вариации, каждое изменение имеет свою цену
-A магазин страница содержит список всех продуктов вместе с их ценами. Активные участники видят скидку на цены, а затем цены() и regularPrice().
-I верю, что min() и max() в scopeRegularPrice() не загружаются должным образом.
Есть ли наилучшая практика для использования агрегатных функций для активной загрузки?
клинка Выход Результаты запроса (через Blackfire Debugging Tool)
Я загрузил полную функцию с возвращаемым значением. Я отключил его раньше, чтобы избежать путаницы. (Я думаю, проблема возникает из-за того, что я вызываю min() и max() в пределах scopeRegularPrice()) – ryank
Что такое 'scopeRegularPrice()' return? массив? также, когда вы сравниваете, попробуйте сделать 'if ($ product-> price! = $ product-> regularPrice())'. Нет скобок по цене. Если 'price' - это функция, а не атрибут. – EddyTheDove