Combining AND/OR eloquent query in Laravel

后端 未结 4 1744
温柔的废话
温柔的废话 2020-12-14 03:29

How can I write following or similar kind of queries using Eloquent?

SELECT * FROM a_table WHERE (a LIKE %keyword% OR b LIKE %keyword%) AND c = 1 AND d = 5

4条回答
  •  温柔的废话
    2020-12-14 03:40

    You can nest where clauses : http://laravel.com/docs/database/fluent#nested-where

    Model::where(function($query)
    {
        $query->where('a', 'like', 'keyword');
        $query->or_where('b', 'like', 'keyword');
    })
    ->where('c', '=', '1');
    

    This should produce : SELECT * FROM models WHERE (a LIKE %keyword% OR b LIKE %keyword%) AND c = 1

提交回复
热议问题