【问题标题】:Laravel 5.7 optimize data for select inputLaravel 5.7 为选择输入优化数据
【发布时间】:2019-05-01 14:00:44
【问题描述】:

我有一个名为 Places(id, name, timestamps) 的表,其中有大约 4k 行。 我需要将所有这些都发送到我的 create.blade.php 选择输入,它将显示他们的姓名并发送我的返回 ID。看起来是这样的

<select name="place_id" class="form-control">
  @foreach($palces as $place)
    <option value="{{ $place->id }}">{{ $place->name}}</option>
  @endforeach
</select>

问题是加载它需要很长时间,尤其是当您单击展开选择时。 这是在我的控制器中

$places = Place::all()->sortBy('name');

有什么方法可以让它更快?

【问题讨论】:

  • 更好地使用搜索功能,它将减少您的加载时间
  • 问题到底出在哪里?在渲染页面(这使其成为后端问题)或浏览器本身?
  • 将所有数据加载到我的选择输入需要很长时间,然后应用看起来根本没有优化。
  • 您确定页面上需要 4k 行吗?应用分页后,页面上最多有 50-100 个数据是很实用的,但数据更少。为了表示(搜索)大量数据,最好使用支持 AJAX 的 datatables 包。
  • @Tpojka 我需要它,在为用户建立个人资料时,我需要我国家的所有地方。

标签: jquery laravel eloquent


【解决方案1】:

尝试使用 DB 外观而不是 Eloquent,您可以安装 DebugBar 并在查询部分查看它是否更快。

【讨论】:

  • 您是否尝试过仅提取该地点的必要字段(id、名称)而不是返回所有行?
  • 也试试看是否是命令操作的耗时操作。
猜你喜欢
  • 2019-05-08
  • 2021-06-30
  • 1970-01-01
  • 2019-07-10
  • 2013-08-04
  • 1970-01-01
  • 2019-09-25
  • 2020-05-03
  • 1970-01-01
相关资源
最近更新 更多