将数据库中的列与对象数组中的值进行比较

comparing column in database to values in array of objects

由于以下代码,我得到了这个对象数组:

$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 子句给出错误 array to string conversion,那么如何比较 var_id 列的值与 $varIds 中的值?

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

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

然后 :

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