laravel 5.2 - search function

雨燕双飞 提交于 2019-12-10 19:55:15

问题


I wish to make a custom search on my site.

Here is MySQL Search:

SELECT * FROM MyDB.MyTable WHERE (id LIKE '%MySearch%' OR firstname LIKE '%MySearch%' OR lastname LIKE '%MySearch%' OR email LIKE '%MySearch%' OR address LIKE '%MySearch%');

How can I get that search into my Laravel Controller??

$users = DB::table('MyTable')->where('firstname', 'MySearch')->get();

My Laravel Controller

Thanks in advance !


回答1:


$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();



回答2:


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();

It work !




回答3:


You can build queries with 'orwhere' like bellow

$users = DB::table('users')
                ->where('firstname', 'like', 'John%')
                ->orWhere('lastname', 'John')
                ->get();

Please refer to this document before building your queries. https://laravel.com/docs/5.2/queries




回答4:


This one also works for me in laravel 5.2

    $search = '%'.$request->search.'%';
    $result = DB::table('tours')->where('name', 'like', $search)->get();


来源:https://stackoverflow.com/questions/37313187/laravel-5-2-search-function

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!