【发布时间】:2018-08-01 17:46:15
【问题描述】:
我正在使用 Laravel jQuery UI 自动完成来搜索数据库。它工作,但它是如此缓慢。我知道我的数据库中有 38432 个项目,但我不知道这是否是问题所在。如何让搜索结果更快出现?
public function aa(Request $request){
$term = $request->get('term');
$t=str_replace(" ", ", ", $term);
$tt=str_replace(",", ", ", $term);
//$queries=Profile::distinct('cityandstate','LIKE','%'.$term.'%')->take(5)->get();
$queries = all::where('cityandstate', 'like', $term . '%')->orWhere('cityandstate',$t)->orWhere('cityandstate',$tt)->take(10)->get();
foreach ($queries as $query)
{
$results[] = ['value' => $query->cityandstate ];
}
return response()->json($results);
}
JavaScript:
<script type="text/javascript">
$(document).ready(function(){
$( function() {
$( "#location-input" ).autocomplete({
//html : html,
source: "display-searches",
minLength: 0,
select:function(e,ui) {
$("#location-input").val(ui.item.label);
}
} );
} );
});
</script>
【问题讨论】:
-
您需要代码方面的帮助吗?
-
你并没有真正让我们离开这里。也许尝试发布一些代码sn-ps?根据我的经验,提高数据库读取速度的最佳方法是从如何设置数据库开始,然后是如何格式化查询,最后是减少业务逻辑的低效率。
-
添加一些代码以便我们为您提供帮助。
-
我只是编辑了我的帖子并添加了代码。
标签: javascript laravel jquery-ui jquery-ui-autocomplete