Codeigniter 活动记录从 mysql 获取记录,其中 id 等于数组中的记录

Posted

技术标签:

【中文标题】Codeigniter 活动记录从 mysql 获取记录,其中 id 等于数组中的记录【英文标题】:Codeigniter active record get records from mysql where ids equal those in array 【发布时间】:2012-07-05 23:19:09 【问题描述】:

我有一个包含以下数据的数组:

array(3)  [0]=> array(1)  ["project_id"]=> string(2) "14"  [1]=> array(1)  ["project_id"]=> string(2) "21"  [2]=> array(1)  ["project_id"]=> string(2) "13"  

我需要从我的数据库中回显所有行,其中项目 ID 等于我的数组中的行。

使用下面的代码,我怎样才能只获取ID等于数据库中的记录???

    function get_projects($id)
        $data = '';

        $this->db->where('id', $id); //HOW TO GET MULTIPLE IDS
        $query = $this->db->get('projects'); 

        foreach ($query->result() as $row) 
            $data[] = array(
                'id' => $row->id,
                'user_id' => $row->user_id,
                'project_name' => $row->project_name,
            );
        

        return $data;

    

【问题讨论】:

【参考方案1】:

使用where_in();

$names = array('Frank', 'Todd', 'James');
$this->db->where_in('username', $names);
// Produces: WHERE username IN ('Frank', 'Todd', 'James')

请参阅the user guide 了解更多信息。

【讨论】:

如何将数据从多维数组中取出并放入标准数组中,就像您的答案一样??? 一个简单的foreach循环应该可以很容易地从多维数组中获取值并将其放入一个平面数组中。 你能帮我做吗,或者我应该打开一个新问题,已经搜索但找不到适合我需要的答案... 我今天进进出出,所以我建议提出一个新问题。确保您在问题中显示您尝试过的一些代码,否则您将被否决。循环问题经常发生这种情况。他们喜欢在提供帮助之前先看到努力。如果您确实发布了一个新问题,请在此处发布链接,以便我可以找到它并尝试解决它。​​

以上是关于Codeigniter 活动记录从 mysql 获取记录,其中 id 等于数组中的记录的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 函数和 CodeIgniter 活动记录

Codeigniter 活动记录类错误与 MySQL 原始查询

Mysql查询转换为codeigniter活动记录

Codeigniter 活动记录 - 插入点列

codeigniter 活动记录左连接

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