如何从以下查询中删除限制/偏移量?
$query = TestModel::where('a', 'b')->limit(100);
$query->removeLimit();
我正在使用其他模块的查询,并且我不想更改代码。
答案 0 :(得分:1)
您可以重置$limit
属性:
$query = TestModel::where('a', 'b')->limit(100);
$query->limit = null;
$unlimited = $query->get();
答案 1 :(得分:0)
get()
:要从表中获取所有记录,请使用get()
:
$query = TestModel::where('a', 'b')->get();
limit()
:限制查询返回的结果数
$query = TestModel::where('a', 'b')->limit(10)->get();
答案 2 :(得分:0)
您问题的简单答案是-您不能。因为您已经将结果集筛选为100个元组的限制。 您避免在模型中更改代码的原因是什么?因为@Dhruv提出的建议是实现所需目标的正确方法。 实际上,如果您仍然希望保持代码完整无缺。您可以这样在模型中定义另一个函数,然后在旧函数内部使用它:
public function newFunction(){
return TestModel::where('a', 'b')->get();
}
public function oldFunction(){
return $this->newFunction()->limit(100);
}
保持代码一致,然后在Controller中使用 newFunction()进行所需的操作。