Удалить лимит из красноречивого запроса - PullRequest
0 голосов
/ 26 ноября 2018

Как удалить ограничение / смещение из приведенного ниже запроса?

$query = TestModel::where('a', 'b')->limit(100);

$query->removeLimit(); 

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

Ответы [ 3 ]

0 голосов
/ 26 ноября 2018

Простой ответ на ваш вопрос - вы не можете.Потому что вы уже отфильтровали набор результатов до ограничения в 100 кортежей.По какой причине вы избегаете изменения кода в модели?Потому что то, что @Dhruv предложил, - это правильный способ достичь того, чего вы хотите.На самом деле, если вы все еще хотите сохранить код без изменений.Вы можете скорее определить другую функцию в вашей модели и использовать ее внутренне в своей старой функции:

public function newFunction(){
    return TestModel::where('a', 'b')->get();
}

public function oldFunction(){
    return $this->newFunction()->limit(100);
}

Сохраняя свой код согласованным, затем используйте newFunction () в вашем контроллере для выполнениявсе, что вы хотите.

0 голосов
/ 26 ноября 2018

Вы можете сбросить свойство $limit:

$query = TestModel::where('a', 'b')->limit(100);
$query->limit = null;
$unlimited = $query->get();
0 голосов
/ 26 ноября 2018

get(): чтобы получить все записи из таблицы, используйте get():

$query = TestModel::where('a', 'b')->get();

limit(): чтобы ограничить количество результатов, возвращаемых запросом

$query = TestModel::where('a', 'b')->limit(10)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...