CodeIgniter Active Record - 组 OR 语句

2024-05-09

这是我的问题:MySQL“或”条件 https://stackoverflow.com/questions/8604380/mysql-or-condition

解决方案是将 OR 语句分组,但我正在使用 CodeIgniters Active Record。有没有办法使用 Active Record 对 OR 语句进行分组?或者我必须自己编写查询?

我在用着$this->db->where() with $this->db->or_where()

它这样写查询:

WHERE title = 'foobar' AND category = 2 OR category = 3

但我需要的是:

WHERE title = 'foobar' AND (category = 2 OR category = 3)

我不能这样做:

$this->db->where("title = 'foobar' AND (category = 2 OR category = 3)");

因为我使用 foreach 循环添加 OR


您可以按照说明手动执行此操作here https://ellislab.com/codeigniter/user-guide/database/active_record.html:

自定义字符串:您可以手动编写自己的子句:

$where = "name='Joe' AND status='boss' OR status='active'";

$this->db->where($where);

至于你的问题:

$this->db->where("category = 1 AND (category = 2 OR category = 3)");

In 3.0-dev:

$this->db->select()
->group_start()
->or_like([ 'category' => 2, 'category' => 3 ])
->group_end()                
->where([ 'category' => 1 ]);

update

See the answers on this question https://stackoverflow.com/questions/6470267/grouping-where-clauses-in-codeigniter if you're using CI 2.2. Choose an answer other than the accepted.

或者只是尝试一下this https://eval.in/211243:

$categories = array(2, 3);

array_walk($categories, function(&$cat) { $cat = 'category = ' . $cat; });

$catstring  = implode(" OR ", $categories);
$where      = "category = 1 AND ($catstring)";
// => category = 1 AND (category = 2 OR category = 3)

$this->db->where($where);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CodeIgniter Active Record - 组 OR 语句 的相关文章

  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • 如果端口不是 80,.htaccess 重定向到错误页面

    我正在运行一个便携式服务器 http www server2go web de 通过 USB 棒 问题是我还在我的本地计算机上安装了 WAMP 并且 Apache 不知何故在 Windows 启动时启动 因为一些我现在不记得的随机原因并且无
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • 将 mysql LONGTEXT 值转换为 VARCHAR 值?

    我有一个在用户 Facebook 墙上发布的功能 我发送到 facebook 的一件事是我从设置为 LONGTEXT 的 mysql 表中获取的一些文本 如果我将表设置为 LONGTEXT 则文本不会发送到 facebook 但如果我将表设
  • PHP 多个 Ajax 请求:第一个请求阻止第二个请求

    我在一页上有 2 个 ajax 请求 我运行了第一个请求并单独启动了第二个请求 但第二个在第一个运行后停止工作 第一次结束后继续 第一个请求需要很长时间 大约 30 60 秒 此时我需要第二个请求来显示日志第一个请求发生的情况 我尝试使用
  • 很简单的PHP加法问题

    我想我已经关注这个问题太久了 为什么这段代码打印 no 它应该打印 yes 不是吗 我在 PHP 5 3 和 PHP 5 2 上尝试过 都打印 no See 比较浮点数 http www cygnus software com papers
  • 如何使用 PATCH 更新简单的数据库字段?

    我是 php 和 API 的新手 我正在尝试学习这些方法 但我无法执行 PATCH 或 PUT 来更新我的简单 mysql 数据库 我使用了以下代码 if isset PATCH con mysqli connect localhost r
  • php 包含打印 1

    我编写了以下代码 当我将 include 函数与旨在输出到页面的函数 例如 或 echo include foo php 结合使用时 它会返回包含内容 但在已包含的内容后面带有 1 echo include foo php 应该 inclu
  • 将此 MySQL 查询转换为 PyGreSQL

    我正在开发一个 Ruby 应用程序 它使用 mysql 函数 XOR 和 BIT COUNT 不过 我现在需要在运行 PyGreSQL 的 Heroku 上运行该应用程序 我找不到任何可以帮助我的 PyGreSQL 文档 那么任何人都可以翻
  • PHP、PDO 和 SQLSRV 对一个 INSERT 语句执行多次

    我已经在 MySQL 和 Apache 服务器上使用 PDO 和 PHP 一段时间了 我最近的任务是将企业的旧 Web 应用程序转换为新设置 旧设置是标准 Linux Web 堆栈 Apache PHP MySQL Filezilla 新设
  • PHP 中正确的存储库模式设计?

    前言 我尝试在具有关系数据库的 MVC 架构中使用存储库模式 我最近开始学习 PHP 中的 TDD 并且我意识到我的数据库与应用程序的其余部分耦合得太紧密 我读过有关存储库并使用国际奥委会容器 http laravel com docs 4
  • 有没有办法只安装mysql客户端(Linux)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有不需要安装整个mysql db安装包的Linux mysql命令行工具 我想做的是从服务器 1 应用程序服务器 执行将在服务器 2
  • Symfony2 - 在自定义验证器中调用 EmailValidator

    我正在创建一个自定义验证器约束来验证 联系人 类似于 John Doe 电子邮件受保护 gt 遵循Cookbook http symfony com doc current cookbook validation custom constr
  • PHP + MySQL 队列

    我需要一个充当队列的简单表 我的 MySQL 服务器限制是我不能使用 InnoDB 表 只能使用 MyISAM 客户 工人将同时工作 他们每次都需要接受不同的工作 我的想法是执行以下操作 伪代码 job lt SELECT FROM que
  • 安全地评估简单的数学

    我想知道是否有一种安全的方法来评估数学 例如 2 2 10000 12000 10000 20 2 2 40 20 23 12 无需使用eval 因为输入可以来自任何用户 我需要实现的只是整数的加法和减法 是否有任何已经存在的代码片段 或者
  • 什么是 PHP session_start()

    它是否基于 cookie 启动当前会话 从 PHP 网站上得到的 PHP如何控制会话 如果我在用户打开我的登录页面时启动会话 我什至可以使用该会话做什么 我可以使用当前会话来获取有关登录用户的信息吗 PHP 会话系统允许您将数据安全地存储在
  • MVC 框架中的缓存策略?

    我编写了自己的小型 PHP MVC 框架 现在正在探索 PHP MVC 框架中的缓存策略 我正在考虑可以缓存什么 在哪里以及如何缓存 我的框架是简单的MVC框架 我有前端控制器 它启动应用程序 注册类自动加载 设置 php 运行时指令 最后
  • 如何让php页面从html页面接收ajax post

    我有一个非常简单的表单 其中有一个名字输入字段 我捕获了表单数据 并使用标准 jQuery 发布方法通过 ajax 将其传输到 PHP 页面 但是 我根本无法从 PHP 页面获得任何在服务器端捕获数据的响应 我不确定我做错了什么或缺少什么
  • 将 Hbase 与 PHP 集成 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经安装了 Hbase 现在我正在寻找一些 PHP 库来将 hbase 与 PHP 集成 我尝试了 2 个库 第一个是我尝试与 th
  • 突出显示单词并提取其附近文本的函数

    我有一个文本例如 Etiam porta semmalesuada magna mollis euismod 整数取数 ante venenatis dapibus posuere velit aliquet 埃蒂亚姆 门塔 塞姆 male

随机推荐

  • 带有指针数组的 cython

    我在 python 中有一个 numpy ndarrays 列表 具有不同的长度 并且需要非常快速地访问 python 中的列表 我认为指针数组就可以解决问题 我试过 float type t list of arrays no of ar
  • 如何在 cygwin 下配置 Mercurial 以使用 WinMerge 进行合并?

    当 Mercurial 在 cygwin 下运行时 弄清楚如何生成有点棘手WinMerge http winmerge org 来解决合并冲突 我怎样才能做到这一点 诀窍是 cygwin 路径与 Windows 路径不同 因此您需要一个小脚
  • serviceworker 是否可以向 url 请求添加标头

    我有一个网站 我不想让人们创建帐户 它是一个新闻提要 其中每篇新闻文章都进行了分类 我想让人们标记他们感兴趣的类别 以便下次他们访问该网站时 它只显示标记类别的新闻 我将标签保存在 indexedDB 中 据我所知 它可以在服务工作者中使用
  • SWIFT:+[CATransaction Synchronize] 在解码 HTML 实体时在事务中调用

    我正在制作一个获取博客 JSON 内容的应用程序 博客文章的标题显示在 tableView 中 获取的标题是 HTML 编码的 所以我用这段代码解码了它们 func configureCell cell UITableViewCell at
  • 如何顺序运行 golang 测试?

    当我跑步时go test 我的输出 FAIL TestGETSearchSuccess 0 00s Location drivers api test go 283 Error Not equal 200 expected 204 actu
  • Rust 中为什么有 mod 关键字?

    看完之后this https doc rust lang org book crates and modules html 我想知道为什么有一个mod关键字和mod rs 我假设目录层次结构也可以描述模块 必须显式声明模块有几个原因 模块可
  • XAML - 将单元格的行和列索引绑定到自动化 ID

    我正在为 WPF 数据网格中的各个单元格提供自动化 ID 但遇到了一些障碍 我决定尝试根据单元格在网格中的位置 行索引和列索引 来命名单元格 使用 UI 检查器并突出显示有问题的 DataGridCell 之一会显示以下属性 GridIte
  • 如何获取当前/活动 TFS 用户的列表?

    我可以使用 TFSCONFIG IDENTITIES 查看 TFS 中的所有用户 但是 这会调出已有多年历史且不再与 AD 帐户绑定的帐户 我想将搜索限制为仅拥有 AD 帐户的用户 这可能吗 我确实在下面找到了博客 但在尝试之前 我想看看是
  • WaitForSingleObject 是否充当内存屏障?

    昨天一个关于双重检查锁定的问题引发了一系列的想法 让我对一个简单的情况感到不确定 在下面的代码中 是否可以点击printf 不再同步 在这个简单的示例中 这些值可能位于同一缓存行上 因此我认为这种可能性较小 假设一开始可能性 gt 0 如果
  • Liquibase 从 JPA 实体生成变更日志

    我有一个 Spring boot spring data jpa 项目 带有一个父模块和三个子模块 我的模块之一负责我的 JPA 实体 我需要使用该实体的 liquibase 生成一个 xml 变更日志 在我的 liquibase prop
  • 需要 python 接口将机器移动到另一个文件夹

    我正在尝试寻找代码支持python为了在数据中心的文件夹之间移动机器但没有成功 我看到pysphere您可以在克隆阶段定义文件夹 而不是在机器克隆之后定义文件夹 This https jackiechen org 2011 11 01 mo
  • Android Activity 和 Service 关系 - 暂停后、停止后

    假设创建了 Activity A 然后 A 启动了一个 Service S 并将其自身绑定到 S S 通知 A 更新 这将导致 A 的状态发生变化 Android 暂停或停止 A 后 A 和 S 会发生什么 例如 暂停 A 是否会自动解除它
  • 在android中以编程方式创建布局 - 问题

    我正在使用以下代码动态创建 FrameLayout mylayout java FrameLayout layout new FrameLayout this FrameLayout LayoutParams layoutparams ne
  • 添加UITabBarController并且没有NavigationController

    由于我是 Xamarin IOS 的新手 我想问一个问题 我已经关注了这个例子 https developer xamarin com guides ios user interface controls creating tabbed a
  • 在 GTK+ (gtkD) 中处理按键

    我正在玩gtkD http www dsource org projects gtkd GTK 的 D 绑定 我有一个window对象 实例gtk MainWindow 我想处理它的按键 How 如何处理特殊键 例如箭头键 pgup pgd
  • 如何使用 Twitter Api 在单个请求中获取 20 多个列表成员?

    我想让超过 20 个用户在单个请求中使用 twitter api 有什么参数可以指定吗 我正在使用这个APIhttp api twitter com 1 Barelyme Politics members xml cursor 1 http
  • 具有自定义尺寸的线性渐变

    我有这样的设计 它已经用 html css 创建 但我需要删除 1 和 5 的额外线条 这是通过添加绝对位置元素来创建灰线来实现的 但容器点的大小是响应式的 我的想法是为每个容器创建一个背景线性渐变 如下所示 for all backgro
  • Spotify 中的 Facebook 个人资料图片

    我想在我的 Spotify 应用程序中显示 Facebook 个人资料图片 但我应该在清单文件中允许哪些 URL 我知道我可以通过 http graph facebook com user id picture 检索图像 但这只是到实际图像
  • PHP DOM 获取节点值 html? (不剥离标签)

    我正在尝试使用nodeValue获取文件中div标签的innerhtml 但是此代码仅输出纯文本 并且似乎从div内部删除了所有html标签 我如何更改此代码以输出 div 的 HTML 内容而不是纯文本 并且还输出包装其子元素的主 div
  • CodeIgniter Active Record - 组 OR 语句

    这是我的问题 MySQL 或 条件 https stackoverflow com questions 8604380 mysql or condition 解决方案是将 OR 语句分组 但我正在使用 CodeIgniters Active