получать удвоенные запросы Laravel - PullRequest
0 голосов
/ 04 октября 2018

Я использую часовой механизм laravel для контроля моих запросов

в моем контроллере. У меня есть

public function index(){
    $errorFound = false;
    $error = ['error' => 'No Monitor Found'];
    $urls = $this->url->with('url_status','latestUrlStatus','users');
    if (request()->has('q')) {
        $keyword = '%'.request()->get('q').'%';
        $builder = $urls->where('description', 'like', $keyword);
        $builder->count() ? $urls = $builder : $errorFound = true;
    }
   return $errorFound === false ? UrlsResource::collection($urls->latest()->paginate(5)->appends(request()->query())) : $error;
}

на моем часовом механизме laravel, я получаю удвоенные запросы

enter image description here

это нормально?если это проблема, как я могу это исправить?ТИА

1 Ответ

0 голосов
/ 04 октября 2018

Нет проблем.Ожидаются все эти запросы.

Первый запрос (выберите пользователей ...) не из кода, который вы показали.Он поступил из TrustProxies.

Второй запрос (выберите количество ()) из $builder->count().

Все остальные запросы поступили из $urls->latest()->paginate(5).Первое, что paginate() делает, это запускает запрос count() (третий запрос), чтобы получить общее количество записей.Затем он переходит к вызову реальных запросов.

В этом случае четвертый запрос - это ваш основной запрос для всех ваших URL, пятый запрос - это запрос на загрузку ваших отношений url_status, шестой запросэто запрос на загрузку ваших отношений latestUrlStatus, а седьмой запрос - это запрос на загрузку ваших отношений users.

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