我正在尝试掌握CI数据库助手/ class / lib。我可以做的核心基础没问题。但我习惯于直接编写查询而不是使用ORM,这有点令人困惑。反正..
我有这个查询
SELECT * FROM my_table
WHERE ((a_id = xx OR b_id = xx) AND (a_id = zz OR b_id = zz))
AND active = 1
基本上我有一个表,我有2个用户相互关联,但有多个用户,所以我需要确保连接在那里,特别是在活动标志就是2的地方之间。
但不确定如何在CI的ORM中处理该查询,因此我正在就此问题寻求一些指导。
答案 0 :(得分:1)
尝试以下代码
$this->db->select('*');
$this->db->where('(a_id = "xx" or b_id = "xx")';
$this->db->where('(a_id = "zz" or b_id = "zz")';
$this->db->where('active', '1');
答案 1 :(得分:1)
看看我的这个答案。这将使您更好地了解如何在活动记录中使用子查询或此类情况
How can I rewrite this SQL into CodeIgniter's Active Records?
答案 2 :(得分:1)
如果您不想使用有效记录,可以这样做
$this->load->database();
$sql = "SELECT * FROM mytable WHERE visible = 't' ORDER BY symbol";
$query = $this->db->query($sql);
return $query->result();