Laravel chunk() 误认为是 array_chunk?
Laravel chunk() mistaken with array_chunk?
我正在与 Laravel 5 合作进行本地项目。我正在尝试获取可能(或成为)大量数据。我正在这样做
$tickets = Ticket::getResolvedTicketsBetween($start,$end)->chunk(200, function($chunkOfTickets){
foreach ($chunkOfTickets as $ticket) {
echo $ticket->id;
}
});
问题是我遇到了错误
array_chunk() expects parameter 3 to be boolean, object given
我做错了什么?有人可以帮助我吗,我正在相应地遵循文档...我认为...
我刚刚搜索了 Laravel 框架,唯一的用法是在 Collection
class 中,它有一个 chunk()
功能,不要与查询生成器 class.
的 chunk()
函数
- http://laravel.com/api/5.0/Illuminate/Support/Collection.html
- http://laravel.com/api/5.0/Illuminate/Database/Query/Builder.html
如果 getResolvedTicketsBetween()
调用 get()
,那么它将最终返回一个 Collection。如果您希望能够继续构建查询,请删除对 get()
的调用。
我对您的代码的猜测:
function getResolvedTicketsBetween($start, $end) {
// Dont do this
// return Ticket::where('created_at', '>=', $start)->where('created_at', '<=', $end)->where('state','=','Resolved')->get()
// Do this instead (returns Query Builder instance)
return Ticket::where('created_at', '>=', $start)->where('created_at', '<=', $end)->where('state','=','Resolved');
}
我正在与 Laravel 5 合作进行本地项目。我正在尝试获取可能(或成为)大量数据。我正在这样做
$tickets = Ticket::getResolvedTicketsBetween($start,$end)->chunk(200, function($chunkOfTickets){
foreach ($chunkOfTickets as $ticket) {
echo $ticket->id;
}
});
问题是我遇到了错误
array_chunk() expects parameter 3 to be boolean, object given
我做错了什么?有人可以帮助我吗,我正在相应地遵循文档...我认为...
我刚刚搜索了 Laravel 框架,唯一的用法是在 Collection
class 中,它有一个 chunk()
功能,不要与查询生成器 class.
chunk()
函数
- http://laravel.com/api/5.0/Illuminate/Support/Collection.html
- http://laravel.com/api/5.0/Illuminate/Database/Query/Builder.html
如果 getResolvedTicketsBetween()
调用 get()
,那么它将最终返回一个 Collection。如果您希望能够继续构建查询,请删除对 get()
的调用。
我对您的代码的猜测:
function getResolvedTicketsBetween($start, $end) {
// Dont do this
// return Ticket::where('created_at', '>=', $start)->where('created_at', '<=', $end)->where('state','=','Resolved')->get()
// Do this instead (returns Query Builder instance)
return Ticket::where('created_at', '>=', $start)->where('created_at', '<=', $end)->where('state','=','Resolved');
}