laravel 5.2 - 搜索功能

时间:2016-05-19 02:56:24

标签: php mysql laravel laravel-5.2

我希望在我的网站上进行自定义搜索。

这是MySQL搜索:

  

SELECT * FROM MyDBMyTable WHERE(id LIKE'%MySearch%'或firstname LIKE'%MySearch% '或lastname喜欢'%MySearch%'或email喜欢'%MySearch%'或address喜欢&#39 ;%MYSEARCH%&#39);

如何在Laravel控制器中进行搜索?

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

My Laravel Controller

提前致谢!

4 个答案:

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