eraquent group laravelBy занимает слишком много раз, чтобы получить - PullRequest
0 голосов
/ 14 октября 2019

Я реализую API из моей базы данных laravel. база данных включает в себя более 300000+ данных, это мой запрос API, когда я пытаюсь выполнить этот запрос, он занимает 1230 мс

       $products = \App\items::with([
        'item_store' => function ($query) {
            $query->select('size', 'item_id');
        },

        'pics' => function ($query) {
            $query->select('img_url', 'item_id');
        },

        'brand' => function ($query) {
            $query->select('item_id', 'brand_id');
        },
        'brand.brand' => function ($query) {
            $query->select('brand_id', 'brand_name');
        }

    ])
    ->select('item_id', 'short_name', 'price', 'price_old')
    ->orderBy('Price', 'Asc')
     ->whereIn('category_id', $arr)
    ->paginate(32);

, но когда я добавляю groupBy, для его загрузки требуется 13 секунд, в чем заключается проблема ?? как я могу решить эту проблему?

после добавления groupBy

        $products = \App\items::with([
        'item_store' => function ($query) {
            $query->select('size', 'item_id');
        },

        'pics' => function ($query) {
            $query->select('img_url', 'item_id');
        },

        'brand' => function ($query) {
            $query->select('item_id', 'brand_id');
        },
        'brand.brand' => function ($query) {
            $query->select('brand_id', 'brand_name');
        }

    ])
    ->select('item_id', 'short_name', 'price', 'price_old')
    ->orderBy('Price', 'Asc')
      ->groupBy('Sku')
     ->whereIn('category_id', $arr)
    ->paginate(32);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...