我正在关注simple ToDo list example学习 Laravel 5。 我完全按照给定的方式设置了代码,对于小型数据库,该应用程序运行得很好。
当我设置我的自定义种子(大数据库)(下面附有文件)时,出现了问题。
当我将项目数设置为~10-50时,该应用程序完美运行。
将其设置在〜1000+范围(1k项目,100k任务)中,我必须多次单击(APP查询URL)才能使删除任务起作用。标准方法delete
、update
失败,只有store
有效。知道为什么吗?
我已使用 phpMyAdmin 验证数据库设置正确。我还在删除时设置了Exception
检查。
编辑:我发现 store
操作即使在 100k 数据库上也能完美运行。如果我删除了我刚刚存储的内容(使用 PHP 应用程序),它就会起作用。但是,对于种子条目,删除
失败(至少尝试 5 次)。
ProjectsTableSeeder.php
TasksTableSeeder.php
TasksController.php
原始文件(来自教程)是 here .
最佳答案
我相信您试图一次显示太多记录。
尝试将其添加到您的索引方法中。
public function index(Project $project) {
return view('tasks.index', compact('project'))->paginate(20);;
}
您可以将其显示在您的 View 中。
{!! $project->appends(Request::except('page'))->render() !!}
我不相信还有比这更多的设置。
关于 pagination 的文档相当不错。
如果您还没有 checkout Laracasts每一毛钱都是值得的。
查看Crazy Simple Pagination有关分页的更多信息。
关于php - Laravel 5 在大型数据库上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382690/