gpt4 book ai didi

php - 关联数组变成了 Codeigniter 中的 where OR 子句

转载 作者:行者123 更新时间:2023-11-29 01:39:04 25 4
gpt4 key购买 nike

使用 CI,我尝试使用三个参数设置查询:user_id、content_type 和 content_id,其中 content_id 是 ID 数组。

所以我需要起床这样的事情:

SELECT name FROM content WHERE user_id = 2 AND content_type = file AND (content_id = 4 OR content_id = 5 OR content_id = 7 ...).
  1. 问题:获取所有 content_id 的查询是否正确?
  2. CI有什么我可以说的功能吗

        $this->db->select('name');
    $this->db->from('content');
    $this->db->where('user_id', $user_id);
    $this->db->where('content_ids', $content_ids);
    $this->db->where('content_type', $content_type);

    只是为了使中间的 where 子句实际上是在其间嵌套 OR 并填充关联数组 ($content_ids) 的 where?

感谢您的回答。

编辑:我找到了一个解决方案:where_in 命令完全满足我的需要。

最佳答案

您可以使用IN 子句来替换许多OR 条件

因此您在 Active Records 中的查询看起来像

$content_ids = array(4,5,7);
$where = array('user_id' => $user_id,'content_type' => $content_type);
$this->db->select('name');
$this->db->from('content');
$this->db->where($where);//created array of where clause
$this->db->where_in('content_type', $content_ids);
return $this->db->get()->result_array();

关于php - 关联数组变成了 Codeigniter 中的 where OR 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30861408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com