使用嵌套的foreach循环

时间:2017-03-15 08:01:13

标签: php codeigniter

我有一个项目表和一个表格。我尝试做的是获取商品和购物车的所有实例,然后我将它们放入循环中,这样每当商品的item_id与购物车的item_id匹配时,我就会减去购物车& #39;来自item' s number_of_units的item_quantity值。然后,结果用于更新项目的number_of_items。我的嵌套foreach循环似乎存在问题。

这是我控制器中的一项功能

public function checkout(){

    $this->load->model('HomeModel');
    $x['item'] = $this->HomeModel->displayAllItems();
    $y['cart'] = $this->HomeModel->displayAllCartItems();

    foreach($x['item'] as $item){
        foreach($y['cart'] as $cart){

            if(($item->item_id) == ($cart->item_id)){

                $temp1 = $item->number_of_units; 
                $temp2 = $cart->item_quantity;

                $temp = $temp1 - $temp2;

                $z = array(
                    'number_of_units' => $temp,
                );

                $this->HomeModel->updateItem($z, $item->item_id);
            }   
        }
    }

} 

这是我的一些模特功能:

public function displayAllCartItems()
{
    $query = $this->db->select('*')->from('cart')->get();
    return $query->result();
}

public function displayAllItems()
{
    $query = $this->db->select('*')->from('item')->get();
    return $query->result();
}

public function updateItem($data, $id)
{
    $this->db->where('item_name', $id);
    $query = $this->db->update('item', $data);
}

0 个答案:

没有答案