【问题标题】:Make CodeIgniter Database query进行 CodeIgniter 数据库查询
【发布时间】:2013-01-18 13:08:01
【问题描述】:

有人可以帮我用 Codeigniter 活动记录完成这个查询吗?:

我有一个包含两个值的 int 数组:

 $prices =  array( 
       [0] => 23,
       [1] => 98
       );
 how i can make something like : 

return $this->db->query("select * from product where price IN (?)", array(implode(',',$prices))->result(); 

请帮忙。

【问题讨论】:

  • 对不起,但我的问题是这段代码对我不起作用,但我应该这样做,正是 IN 声明
  • 查看我的答案,因为我认为它会满足您的要求。我有一段时间没有使用 CI,所以我可能会生疏。

标签: php sql codeigniter activerecord


【解决方案1】:

试试这个(未经测试)

$query = $this->db->from('product')
                  ->where_in('price', implode(',',$prices))
                  ->get();

CodeIgniter Active Record docs 非常好,所以您一定要仔细阅读。例如,您会注意到 select() 方法是不必要的,因为我们想要所有项目,因此假定为 *

【讨论】:

  • 我相信没有必要implode 数组$prices 否则implode 之后的整个数组将被视为单个字符串。简单地传递数组似乎是语法,如documentation 中的示例所示。
【解决方案2】:

试试这个

return  $this->db->query("select * from product where price IN ('". implode(',',$prices)->result()."' )");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多