将数据库中的列与对象数组中的值进行比较
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);
由于以下代码,我得到了这个对象数组:
$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);