我的DB表中有大约25.000行“电影”(InnoDB,17.5mb),当我试图让它们全部显示在我的管理面板中时,什么都不会发生。只有5-8秒挂起和白屏幕。没有显示错误,只是什么都没有。(最大执行时间为3600秒,因为它在我的本地计算机上)。我的简单密码:
public function index()
{
$data['movies'] = Movies::all();
dd('This var_dump & die never fires');
// return view('admin.movies', $data);
}我只是想知道为什么它不执行查询,只是在没有宣战的情况下就死了。
我在.ENV或config/database.php中没有发现任何有趣的东西来解释在这种情况下会发生什么。
PS。是的,我可以做服务器端的分页和搜索,只从数据库中提取10-25条记录,问题不是这个问题。
发布于 2015-05-10 18:58:39
看来你的记忆快用完了。试着搜索一半的结果,或者仅仅是100个,看看它是否至少修复了白色页面,如果是这样的话,可以使用块:
Movies::chunk(200, function($movies)
{
foreach($movies $movie)
{
var_dump($movie);
}
});发布于 2015-05-10 18:52:44
您肯定应该查看您的storage\logs目录来验证错误。它很有可能需要很多内存来获得25k行。
事实上,正如您在现实生活中提到的,没有必要获得这么多行,因为除非您将它们导出到CSV或XLS中。
https://stackoverflow.com/questions/30155331
复制相似问题