Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 删除雄辩查询的限制_Laravel_Eloquent - Fatal编程技术网

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);
}