从雄辩的查询中删除限制

时间:2018-11-26 11:00:52

标签: laravel eloquent

如何从以下查询中删除限制/偏移量?

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

$query->removeLimit(); 

我正在使用其他模块的查询,并且我不想更改代码。

3 个答案:

答案 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()进行所需的操作。