我希望在我的网站上进行自定义搜索。
这是MySQL搜索:
SELECT * FROM
MyDB
。MyTable
WHERE(id
LIKE'%MySearch%'或firstname
LIKE'%MySearch% '或lastname
喜欢'%MySearch%'或address
喜欢&#39 ;%MYSEARCH%&#39);
如何在Laravel控制器中进行搜索?
$ users = DB :: table(' MyTable') - > where(' firstname',' MySearch') - > get ();
提前致谢!
答案 0 :(得分:2)
$users = DB::table('MyTable')
->where('id', 'LIKE', '%MySearch%')
->or_where('firstname', 'LIKE', '%MySearch%')
->or_where('lastname', 'LIKE', '%MySearch%')
->or_where('email', 'LIKE', '%MySearch%')
->or_where('address', 'LIKE', '%MySearch%');
->get();
答案 1 :(得分:0)
for laravel 5.2:
$search = '%'.$_POST['name'].'%';
$users = DB::table('MyTable')
->where('id', 'LIKE', $search)
->orwhere('firstname', 'LIKE', $search)
->orwhere('lastname', 'LIKE', $search)
->orwhere('email', 'LIKE', $search)
->orwhere('address', 'LIKE', $search);
->get();
有效!
答案 2 :(得分:0)
您可以使用'orwhere'构建查询,如下文
$users = DB::table('users')
->where('firstname', 'like', 'John%')
->orWhere('lastname', 'John')
->get();
在构建查询之前,请参阅此文档。 https://laravel.com/docs/5.2/queries
答案 3 :(得分:0)
这个也适用于laravel 5.2
$search = '%'.$request->search.'%';
$result = DB::table('tours')->where('name', 'like', $search)->get();