首页 > 解决方案 > 带有重定向的 Laravel 预输入自动完成搜索

问题描述

我目前正在为我的项目开发搜索功能。不幸的是,该功能不希望按预期工作。

搜索有效;显示数据库中的城市。单击时的重定向也有效。仅将城市名称设置为参数,但我需要重定向时在参数中设置的 slug。示例:“xyz/köln”到“xyz/koeln”。蛞蝓已经存储在每个城市的数据库中。

控制器:StartpageController.php

function autocomplete(Request $request)
    {
        $datas = Standorte::select("stadt")
            ->where("stadt","LIKE","%{$request->input('query')}%")
            ->where("slug","LIKE","%{$request->input('query_s')}%")
            ->get();
        $dataModified = array();
        foreach ($datas as $data)
        {
            $dataModified[] = $data->stadt;
        }

        return response()->json($dataModified);

    }

JS:Startpage.blade.php


<input class="typeahead" type="text" placeholder="City">


<script type="text/javascript">
    var path="{{route('autocomplete')}}";
    $('input.typeahead').typeahead({
        source:function (query,process) {
            return $.get(path,{query:query},function (data) {
                return process(data);
            });

        },
        updater: function (query_s) {
            window.location.href ="xyz/"+[ query_s ];
        }
    });
</script>

标签: javascriptphpjquerylaravel

解决方案


推荐阅读