CodeIgniter MySQL动态大小的Where子句

时间:2012-11-21 05:34:10

标签: php mysql codeigniter

我希望能够接受我可以在查询中使用的一系列约束。当我使用foreach循环,如

$this->db->select('id');
$this->db->from('items');
foreach($tags_array as $tag)
{
    $this->db->where('tag_id', $tag);
}

我注意到它只使用数组中最后指定的tag_id值。我想知道是否有任何解决方法。

我忘了提及我希望这也是一个“AND WHERE”条款。

谢谢!

2 个答案:

答案 0 :(得分:0)

$this->db->select('id');
$this->db->from('items');
$tag_condition = array();
foreach($tags_array as $tag)
{
      $tag_condition[]   = $tag;
}

$this->db->where_in('tag_id', $tag_condition);

Ho wabout使用这个

答案 1 :(得分:0)

这样做会在模型中创建一个函数,并使用你的控制器将数组中的所有tag_ids传递给该函数......

$result = $this->model_name->function_name_in_model($tag_ids);

在模型中使用它在sql中使用IN的条件........你会得到正确的结果。

select id from items where id IN($tag_ids);