如何应用typeahead.js自动完成搜索来搜索Laravel中不同数据库列的姓氏<space> firstname的用户名?

时间:2018-01-04 10:03:41

标签: mysql laravel-5 laravel-eloquent

这里我在我的laravel代码中使用Typeahead.js自动完成搜索jquery插件。你可以帮我申请使用typeahead.js自动完成搜索来搜索姓名由姓氏名字或姓名来自Laravel中不同数据库列的姓名吗?

我的控制器逻辑是 -

    public function autocomplete(Request $request) {   
    $string = "%{$request->input('query')}%";
    $searchValues = preg_split('/\s+/', $string, -1, PREG_SPLIT_NO_EMPTY); 

       $users = Profile::where(function ($q) use ($searchValues) {
        foreach ($searchValues as $value) {
            $q->orWhere('firstname', 'like', "%{$value}%")->orWhere('lastname', 'like', "%{$value}%")->orWhere('mobile', 'like', "%{$value}%");
        }
    })->get(array('firstname','lastname','mobile'));

    return response()->json($users); 
}

1 个答案:

答案 0 :(得分:0)

试试这个

if ($request->has('name'))
        {
            $query->where(function ($q) use ($request)
            {
                return $q->where('first_name', 'LIKE', $request->input('name') . '%')
                    ->orWhere('last_name', 'LIKE', '%' . $request->input('name') . '%');
            });
        }