Php 根据Codeigniter中的结果将结果从模型传递到控制器

Php 根据Codeigniter中的结果将结果从模型传递到控制器,php,codeigniter,Php,Codeigniter,我想不出做这件事的最佳方法——我有一个将产品添加到购物车的模型 $this->db->select('*'); $this->db->from('products'); $this->db->where('product_id',$pid); $query = $this->db->get(); $products = $query->result_array(); $stock = $products['0']['sto

我想不出做这件事的最佳方法——我有一个将产品添加到购物车的模型

$this->db->select('*');
$this->db->from('products');
$this->db->where('product_id',$pid);
$query = $this->db->get();    
$products = $query->result_array();     
$stock =  $products['0']['stock']; 
$quantity = 2;

$cart = $this->cart->contents();
$found = false;

foreach($cart as $items)
{                               
    if($pid == $items['id']  ){

        if ($items['qty'] + $quantity <= $stock){
            $this->cart->update(array(
                'rowid' => $items['rowid'],
                'qty'   => $items['qty'] + $quantity
                ));     
            $found = true;      
            $SEND MESSAGE SAYING ADDED TO CART
        }
        else {
            $found = true;      
            $SEND MESSAGE SAYING NOT ENOUGH STOCK
        }             
    }           
} 
if($found == false){
    $data = array(
               'id'    => $products[0]['product_id'],
               'name'  => $products[0]['name'],
               'qty'   => $quantity,
               'price' => $products[0]['price']
                 );
    if ($quantity <= $stock)
    {
        $this->cart->insert($data); 
    }
    else {
        echo "Not enough stock";
    }

}

return $this->cart->contents();
$this->db->select('*');
$this->db->from('products');
$this->db->where('product_id',$pid);
$query=$this->db->get();
$products=$query->result_array();
$stock=$products['0']['stock'];
$quantity=2;
$cart=$this->cart->contents();
$found=false;
foreach($cart作为$items)
{                               
如果($pid==$items['id'])){
如果($items['qty']+$quantity购物车->更新(数组)(
'rowid'=>$items['rowid'],
“数量”=>$items['qty']+$quantity
));     
$found=true;
$SEND消息已添加到购物车
}
否则{
$found=true;
$发送消息说库存不足
}             
}           
} 
如果($found==false){
$data=数组(
'id'=>$products[0]['product_id'],
'name'=>$products[0]['name'],
“数量”=>美元数量,
“价格”=>$products[0][“价格”]
);
如果($quantity cart->insert($data);
}
否则{
呼应“库存不足”;
}
}
返回$this->cart->contents();
向控制器返回消息以便向用户显示物品已添加/库存不足的最佳方式是什么

我已经读过,我可以使用“return”-但是因为我使用return$this->cart->contents();在函数的底部,我不知道该去哪里

我可能是完全错误地看待这个问题,但如果有人能告诉我处理这种情况的最佳方法,我将非常感激


C.

试试这样的方法:

$data           = array();
$data['cart']   = $this->cart->contents();
$data['msg']    = 'Your message here';
return $data;
在控制器中,根据需要取出元件,例如:

$return = $this->model->function();  //your model return here $return
$cart   = $return['cart'];           //cart contents
$msg    = $return['msg'];            //the message added from the model

太棒了,非常合适。非常感谢:-)很高兴能帮助…:D@CarlBembridge