Laravel 删除雄辩查询的限制
如何从下面的查询中删除限制/偏移Laravel 删除雄辩查询的限制,laravel,eloquent,Laravel,Eloquent,如何从下面的查询中删除限制/偏移 $query=TestModel::where('a','b')->limit(100); $query->removeLimit(); 我正在使用来自另一个模块的查询,不想更改代码。get():要从表中获取所有记录,请使用get(): limit():限制查询返回的结果数 $query = TestModel::where('a', 'b')->limit(10)->get(); 你的问题的简单答案是——你不能。因为您已经将结果集过滤到100个
$query=TestModel::where('a','b')->limit(100);
$query->removeLimit();
我正在使用来自另一个模块的查询,不想更改代码。get()
:要从表中获取所有记录,请使用get()
:
limit()
:限制查询返回的结果数
$query = TestModel::where('a', 'b')->limit(10)->get();
你的问题的简单答案是——你不能。因为您已经将结果集过滤到100个元组的限制。 您避免在模型中更改代码的原因是什么?因为@Dhruv所建议的是实现你想要的目标的正确方法。 事实上,如果您仍然想保持代码的完整性。您可以这样在模型中定义另一个函数,并在旧函数中内部使用它:
public function newFunction(){
return TestModel::where('a', 'b')->get();
}
public function oldFunction(){
return $this->newFunction()->limit(100);
}
保持代码的一致性,然后在控制器中使用newFunction()执行任何您想执行的操作 您可以重置
$limit
属性:
$query=TestModel::where('a','b')->limit(100);
$query->limit=null;
$unlimited=$query->get();
为什么一开始要使用限制
public function newFunction(){
return TestModel::where('a', 'b')->get();
}
public function oldFunction(){
return $this->newFunction()->limit(100);
}