使用 CodeIgniter 查询从同一列中选择多条记录

Posted

技术标签:

【中文标题】使用 CodeIgniter 查询从同一列中选择多条记录【英文标题】:Query to select multiple records from same column with CodeIgniter 【发布时间】:2015-05-06 15:22:35 【问题描述】:

我正在尝试从同一列获取记录。我想从两个 ID 中获取农场代码,我尝试在 CodeIgniter 文档的帮助下进行操作,但它不起作用。

        $this->db->select('fa_code');
        $this->db->where('fa_id', $by);
        $this->db->where('fa_id', $from);
        $res=$this->db->get('tukai_farms')->result();

怎么了?我们不是对同一个字段使用 AND 吗?

【问题讨论】:

【参考方案1】:

您需要声明从哪里获取“fa_code”,然后声明您拥有的条件:

这是正确的方法:

public function selectFaCode()
        $by = 1;
        $from = 2;
        $query = $this->db->select('fa_code')
                            ->from('tukai_farms')
                            ->where('fa_id', $by)
                            ->or_where('fa_id', $from) //Remember that you are declaring the same condition ! Remove this to keep the first where or change the column name if you want to get items from table where the condition is another column.
                            ->get()
                            ->result();

        foreach($query as $row)
            echo $row->fa_code;
        
    

【讨论】:

【参考方案2】:

正如anant所说,你应该使用:

$this->db->where('fa_id', $by);
$this->db->or_where('fa_id', $from);

【讨论】:

【参考方案3】:

您可以使用此查询从同一列中选择多条记录

$value = array($by, $from);
$this->db->where_in('fa_id', $value);

【讨论】:

以上是关于使用 CodeIgniter 查询从同一列中选择多条记录的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询以选择在同一列中具有不同值的子记录的父级

根据表中其他列的值从同一表中的 2 列中选择信息

Codeigniter Active Record使用多个主键选择多行

在codeigniter查询生成器中使用union,并在虚拟mysql列中进行过滤

我可以从同一列中选择多个值吗

在同一列中不存在某些 ID 的大表中选择数据。加快查询