可以尝试使用 where 方法来构建复杂的查询条件,例如:

$where = [
    ['title', 'like', '%Think%'],
    ['content', 'like', '%PHP%'],
    '_logic' => 'OR',
    ['status', '=', '1'],
];

$result = Db::name('article')->where($where)->select();

这里使用了数组来描述复杂的查询条件,最后使用 where 方法来将条件应用到查询中。在数组中,数组元素之间的关系默认为 AND,如果想要使用 OR,需要在前一个条件数组中添加 _logic 元素,并将其值设置为 OR。这样就可以在模糊查询的基础上添加其他的查询条件了。

在使用 where 方法构建条件查询时,可以使用 _logic 参数指定当前条件和前一个条件之间的逻辑关系。这个参数有以下几种取值:

  • AND:表示当前条件和前一个条件之间的逻辑关系为 “与”。

  • OR:表示当前条件和前一个条件之间的逻辑关系为 “或”。

默认情况下,where 方法连接的条件之间的逻辑关系为 “与”。如果需要使用 “或” 的逻辑关系,可以在前一个条件数组中添加 _logic 元素,并将其值设置为 “或”。例如:

$where = [
    ['name', 'like', '%John%'],
    '_logic' => 'OR',
    ['age', '>', 18]
];

$result = Db::name('user')->where($where)->select();

这里的查询条件为:名字中包含 “John” 或者年龄大于 18 岁。使用 _logic 参数可以灵活构建复杂的条件查询。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐