【问题标题】:comparing column in database to values in array of objects将数据库中的列与对象数组中的值进行比较
【发布时间】:2021-09-12 14:08:17
【问题描述】:

由于以下代码,我有这个对象数组:

$varIds = $this->user_model->get_var_id(...);

它会产生这样的东西:

[
    {var_id: "141"}
    {var_id: "143"}
    {var_id: "146"}
    {var_id: "149"}
]

下一步,将这个数组发送到模型,如下所示:

$this->user_model->get_item_options_values_filter(...,$varIds);

接下来,像这样过滤:

$this->db->where_in('items_options_value.var_id',$varIds);

我想根据对象的 $varIds 数组中的值过滤行,但这不起作用,因为 where_in 子句给出了错误数组到字符串转换,所以如何比较值var_id 列的值在 $varIds 中?

【问题讨论】:

标签: php codeigniter filter where-clause


【解决方案1】:

我必须首先将对象数组转换为值数组,如下所示:

     $names = array();
     foreach($varIds as $v){
         array_push($names,$v['var_id']);
     }

然后:

     $this->db->where_in('items_options_value.var_id',$names);

【讨论】:

    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多