CodeIgniter活动记录-组OR语句

西海岸

这是我的问题:MySQL“ Or”条件

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

我使用的是$this->db->where()$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

马吉达里夫

您可以按照此处所述手动进行操作

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

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

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

至于你的问题:

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

3.0-dev中

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

更新

如果您使用的是CI 2.2,请参阅此问题的答案选择除已接受之外的答案

或者干脆试试这个

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

IF语句在哪里(codeigniter活动记录)

来自分类Dev

组活动记录关系

来自分类Dev

将包含case语句的MySql查询转换为Codeigniter活动记录查询

来自分类Dev

将包含案例语句的MySql查询转换为Codeigniter活动记录查询

来自分类Dev

CodeIgniter活动记录+1

来自分类Dev

Codeigniter活动记录加入

来自分类Dev

Codeigniter,活动记录,加入

来自分类Dev

加入活动记录 codeigniter

来自分类Dev

codeigniter活动记录左联接

来自分类Dev

Codeigniter活动记录所在的数组

来自分类Dev

codeigniter活动记录where_in

来自分类Dev

活动记录-绘制一组中的多少人?

来自分类Dev

无法在Rails 3.1.11的活动记录中查询“组”

来自分类Dev

将字符串转换为活动记录查询语句

来自分类Dev

返回一组事件在同一 ID 上发生多次的记录的 SQL 选择语句

来自分类Dev

拥有活动记录的CodeIgniter COUNT个?

来自分类Dev

活动记录上的Codeigniter get_where

来自分类Dev

Codeigniter 活动记录插入返回值

来自分类Dev

CodeIgniter活动记录一次删除多个记录

来自分类Dev

Rails多对一关系聚合功能(组,计数)活动记录

来自分类Dev

Codeigniter活动记录-删除不在数组中的位置

来自分类Dev

Codeigniter结合where_in和活动记录查询

来自分类Dev

需要正确的CONCAT SQL查询格式。Codeigniter活动记录

来自分类Dev

如何将Codeigniter活动记录中的“喜欢”分组?

来自分类Dev

将SQL查询转换为Codeigniter活动记录

来自分类Dev

从Codeigniter活动记录中的子查询中选择

来自分类Dev

CodeIgniter活动记录-获取返回的行数并获取总和

来自分类Dev

Codeigniter活动记录类联接两个mysql表

来自分类Dev

如何通过Codeigniter活动记录按年份和月份分组?

Related 相关文章

热门标签

归档