php - Supplied object, but invalid argument error in foreach loop appears -
i getting message: invalid argument supplied foreach() when run following code:
foreach($combination $combi){ var_dump($combi); $tarr[]=$variant_options[$combi->product_variant_option_value_id]; } when var_dump $combination, object(stdclass)#60 (8)//and whole content. what's not okay it?
i can post content of $combination, it's lot of it.
any idea should do?
thanks
edit: var_dump($combination) output:
array(8) { [0]=> object(stdclass)#60 (8) { ["id"]=> string(1) "1" ["product_variant_option_id"]=> string(1) "1" ["product_variant_option_value_id"]=> string(1) "1" ["sku"]=> string(0) "" ["price"]=> string(4) "0.00" ["saleprice"]=> string(4) "0.00" ["quantity"]=> string(1) "0" ["weight"]=> string(1) "0" } [1]=> object(stdclass)#73 (8) { ["id"]=> string(1) "2" ["product_variant_option_id"]=> string(1) "1" ["product_variant_option_value_id"]=> string(1) "4" ["sku"]=> string(0) "" ["price"]=> string(4) "0.00" ["saleprice"]=> string(4) "0.00" ["quantity"]=> string(1) "0" ["weight"]=> string(1) "0" } } edit2:
foreach($variants $variant){ $combination=$this->product_model->getvariationcombination($variant->id); $tarr=array(); foreach($combination $combi){ $tarr[]=$variant_options[$combi->product_variant_option_value_id]; } where getvariationcombination is:
public function getvariationcombination($product_variant_id){ $query=$this->db->get_where('product_variant_combination',array('product_variant_option_id'=>$product_variant_id)); $variants=array(); foreach ($query->result() $row) { $variants[]=$row; } if(count($variants)>0) return $variants; return null; }
to iterate on object have implement http://www.php.net/manual/en/class.iterator.php or http://www.php.net/manual/en/class.generator.php or http://www.php.net/manual/en/class.iteratoraggregate.php
Comments
Post a Comment