无法弄清为什么会这样。不幸的是,所有Laravel吐出来的只是Chromes标准的500错误页面无法正常工作。
我有一个前端表,用户可以搜索合同。我有成千上万的行。该列表加载(不带过滤器)有大约22,000+行,分页为corse。我正在使用一个名为DataTables的插件来制作表格。当我将响应与表一起发送回前端时,我还希望从合同中抽取所有ID,并与DataTable数据一起发送,您可以使用DataTables ->with()
选项进行操作。>
例如:
return DataTable::eloquent($contracts)
->with(['all_ids' => $contracts->get()->pluck('id')])
问题是,500错误始终出现在新列表上。但是,如果我将列表过滤到大约500左右行,那么对于所有500个已提取ID,响应都不会出现问题。
500错误似乎源于22,000被采摘。不幸的是,DataTables并没有发送回列表中的所有ID,而只是发送了分页的(当前视图)ID。这是我的工作,要获得整个结果集中所有可能的ID,但这会引起一些麻烦。
关于如何使它表现更好的任何想法?
答案 0 :(得分:0)
尝试:
return DataTable::eloquent($contracts)
->with(['all_ids' => $contracts->get('id')]);
get()
接受列名列表,该列名将包含在查询的select
部分中。
如果效率不够高,请检查DataTable
是否具有一些API来分块/分页获取所有这些ID。