Php 将codeigniter活动记录函数与常规sql语句相结合

Php 将codeigniter活动记录函数与常规sql语句相结合,php,sql,codeigniter,Php,Sql,Codeigniter,是否可以将codeigniter活动记录函数用作常规sql语句末尾的附加组件?大概是这样的: $sql = "SELECT * FROM test WHERE id = 'red'"; $this->db->WHERE_IN('code', $array); $query = $this->db->get($sql); return $query->result(); 我真的需要where_in函数,这样我就可以应用一个值数组,其中值的数量是不断变化的 为什么我要

是否可以将codeigniter活动记录函数用作常规sql语句末尾的附加组件?大概是这样的:

$sql = "SELECT * FROM test WHERE id = 'red'";
$this->db->WHERE_IN('code', $array);
$query = $this->db->get($sql);
return $query->result();
我真的需要where_in函数,这样我就可以应用一个值数组,其中值的数量是不断变化的

为什么我要这样做,而不仅仅是在活动记录功能中这样做?因为当我只使用活动记录功能时,我会不断出错,我不想再花更多的时间沮丧地把头撞在桌子上。

试试这样:

$imploded_array  = implode(",", $array);
$sql = "SELECT * FROM test WHERE id = 'red' AND code IN ({$imploded_array})";
//$this->db->WHERE_IN('code', $array);
$query = $this->db->get($sql);
return $query->result();

不,据我所知这是不可能的
infrade()
以字符串形式显示数组并使用常规查询。您最好问问为什么会出现错误,因为AR对于运行有效的查询非常有用,除非它命中({$infrade_array})它的给定值(value,value),我需要它是('value','value'),否则我只会出错