Laravel Eloquent ограничения и смещения запросов добавляются автоматически для подсчета запросов - PullRequest
0 голосов
/ 22 января 2019

Лимит и смещение добавляются автоматически в мой следующий запрос, хотя я не добавляю в него никаких ограничений и смещений.

$total_trashed_records = $query_records_trashed
                             ->onlyTrashed()
                             ->count();

Ниже приведены мои запросы. Последний запрос просто возвращает общее количество пользователей в корзине, но добавляются limit и offset, и это не работает.

Ниже приведены мои запросы.

$fields = ["id", "first_name","last_name","username","user_type","job_title","status"];

  $query_records = User::select($fields)
                           ->Where('first_name', 'like', '%' .$s. '%');

   $query_records_trashed = $query_records;    
   $total_records = $query_records->count();

   $records = $query_records
                  ->orderBy($sort_column, $sort_order)
                  ->skip($page*$rows_per_page)
                  >take($rows_per_page)
                  ->get();

  $total_trashed_records = $query_records_trashed
                               ->onlyTrashed()
                               ->count();

Ниже приведен результат последнего запроса в журнале запросов.

"query" => "select count(*) as aggregate from `users` where `first_name` like ?  and `users`.`deleted_at` is not null limit 50 offset 0",
"bindings" => array:1 [
      0 => "%%"
     ]

"time" => 0.67

1 Ответ

0 голосов
/ 22 января 2019

Чтобы удалить limit и offset из созданного запроса, вам необходимо удалить две строки из построителя запросов:

->skip($page*$rows_per_page)
->take($rows_per_page)

, что равно offset и limit соответственно.


Проверьте этот раздел документации.

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