Laravel用急切的加载检索记录 - 返回空白

时间:2015-09-08 07:33:55

标签: laravel eloquent

我目前正在创建一个生成报告的功能。到目前为止,父表有大约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');

有任何建议如何解决这类问题?

1 个答案:

答案 0 :(得分:0)

您应该能够使用嵌套的预先加载,即:

$query = \Log::with('client', 'details.notes', 'user.employee', 'product')->get();