我目前正在创建一个生成报告的功能。到目前为止,父表有大约17k的记录,它会增长。
不幸的是,每次运行查询时,它都会返回空/空结果
$query = \Logs::with(
array(
'client',
'details' => function($qry)
{
$qry->with('notes');
},
'user' => function($qry)
{
$qry->With('employee');
},
'product'
)
);
return $query->get();
但如果我限制
return $query->take(12000)->get();
只需要我也需要剩下的数据。
根据我的研究,问题是服务器内存使用情况,它目前在16GB内存中以3GB的速度运行,将它移动到具有64GB RAM的主服务器。
我也添加了
set_time_limit (10000);
ini_set('memory_limit','-1');
有任何建议如何解决这类问题?
答案 0 :(得分:0)
您应该能够使用嵌套的预先加载,即:
$query = \Log::with('client', 'details.notes', 'user.employee', 'product')->get();