使用Laravel Eloquent从数据库中检索数据(大约3MB JSON)时,我得到部分JSON响应。Lumen(Laravel):使用Eloquent获取大数据时返回的部分JSON响应
但是当我使用正常的php数据库连接检索相同的数据时,它工作正常。
我已经在我的php.ini文件中设置了memory_limit来处理大数据。
我需要在我的Laravel(流明)数据库配置中设置什么?
使用Laravel Eloquent从数据库中检索数据(大约3MB JSON)时,我得到部分JSON响应。Lumen(Laravel):使用Eloquent获取大数据时返回的部分JSON响应
但是当我使用正常的php数据库连接检索相同的数据时,它工作正常。
我已经在我的php.ini文件中设置了memory_limit来处理大数据。
我需要在我的Laravel(流明)数据库配置中设置什么?
您可以大块起来:
$results = collect();
Model::where('foo', 'bar')->chunk(function ($models) use ($results) {
$results->merge($models->toArray());
});
return $results;
我有同样的问题,几天就回来与流明框架内工作一段时间。 为了解决这个问题,你需要添加
这行 - >PDO::MYSQL_ATTR_MAX_BUFFER_SIZE => 20000000
,
在这里 - 在options array
(12号线)>/vendor/illuminate/database/Connectors/Connector.php
。
MYSQL_ATTR_MAX_BUFFER_SIZE
的默认值设置为1MB因此您的结果将被截断。
谢谢:)