Недавно понадобилось извлечь из таблицы 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() и будет массив значений.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости