在Laravel中结合AND/OR雄辩的查询 [英] Combining AND/OR eloquent query in Laravel

查看:96
本文介绍了在Laravel中结合AND/OR雄辩的查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用Eloquent编写以下或类似类型的查询?

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

我无法通过将&链接到哪里来以我想要的方式组合AND/OR. or_where函数.

I couldn't combine AND/OR in the way I wanted by chaining where & or_where functions.

推荐答案

您可以嵌套where子句: http://laravel.com/docs/database/fluent#nested-where

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

这应该产生:SELECT * FROM models WHERE (a LIKE %keyword% OR b LIKE %keyword%) AND c = 1

这篇关于在Laravel中结合AND/OR雄辩的查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆