Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 与此mysql查询等价的Codeigniter_Php_Mysql_Codeigniter - Fatal编程技术网

Php 与此mysql查询等价的Codeigniter

Php 与此mysql查询等价的Codeigniter,php,mysql,codeigniter,Php,Mysql,Codeigniter,我试图掌握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数据库帮助器/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中处理该查询,因此我正在寻求有关该问题的指导。

请尝试以下代码

$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');
请尝试以下代码

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

看看我的回答。这将使您对如何在活动记录中使用子查询或此类情况有一个相当好的了解


看看我的这个答案。这将使您对如何在活动记录中使用子查询或此类情况有一个相当好的了解


如果您不想使用活动记录,可以这样做

$this->load->database();
$sql = "SELECT * FROM mytable WHERE visible = 't' ORDER BY symbol";
$query = $this->db->query($sql);
return $query->result();

请参见

如果您不想使用活动记录,可以这样做

$this->load->database();
$sql = "SELECT * FROM mytable WHERE visible = 't' ORDER BY symbol";
$query = $this->db->query($sql);
return $query->result();

请参见

我认为活动记录更好,因为它可以清理查询。
$this->db->Select('*')
是多余的。默认情况下,Active Record类将选择所有字段。我认为Active Record更好,因为它可以清理查询。
$this->db->select('*')
是多余的。默认情况下,活动记录类将选择所有字段。