Недавно понадобилось извлечь из таблицы 1600 товаров + из отдельной таблицы артикулы + бренды из тоже отдельной таблицы. Казалось бы сделал что нибудь вроде Products::with('sku')->get();
и вроде бы вся проблема.
Но laravel конвертирует все в объекты... А это очень серьезно замедляет. Замедляет настолько, что выдача 1600 товаров занимает 22 секунды...
Я просто хочу получить массив данных, не создавая объекты. Как мне этого избежать?
И сразу еще 1 вопрос, если я хочу получить, к примеру, айдишники продуктов сразу в виде массива, тоже не создавая объекты, как это сделать?
Просто привидите пример, я уже 4 часа тыкаюсь по документациям, далеко не продвинулся
Products::with('sku')->first();
ето вернет тебе не object; можеш делать так
$product = Products::with('sku')->first();
$product->phone //столбец product из sql
Если на страницу попадает в итоге только 10 записей то используй skip() и take() для выборки из базы только этих значений и их выводи, только, скорее всего тебе надо будет перенастроить твою таблицу на серверный рендеринг. Второй вопрос, чтобы получить только массив каких то значений надо в конце запроса писать ->pluck() и будет массив значений.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Интересует следующий вопрос: есть форма авторизации в файле indexphp, как сделать так, чтобы эта форма стала доступной после введения GET параметр?
Как видно конструктор класса Carbon принимает параметр timezone
Уважаемые программисты, прошу помочьТанцы с бубном которые решаю уже 4 дня
Цель - собрать код с использованием OpenCASCADE (OCE) c crosscompile под windowsДля этого использую mxe с пакетом oce