Yooniks
Yooniks

Reputation: 71

laravel 5.2 - search function

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 !

Upvotes: 3

Views: 4124

Answers (4)

Anna Petranella
Anna Petranella

Reputation: 11

This one also works for me in laravel 5.2

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

Upvotes: 0

Praveen Govind
Praveen Govind

Reputation: 5697

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

Upvotes: 0

Yooniks
Yooniks

Reputation: 71

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 !

Upvotes: 0

Tim Biegeleisen
Tim Biegeleisen

Reputation: 522762

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

Upvotes: 2

Related Questions