无法解决这个问题的最佳方式 - 我有一个模型将产品添加到购物车中;
$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();
将消息返回给控制器的最佳方法是什么,以便我可以向用户显示已添加项目/库存不足?
我读过我可以使用&#34;返回&#34; - 但是我正在使用return $ this-&gt; cart-&gt; contents();在功能的底部,我不知道该去哪里。
我可能会以完全错误的方式看待这一点,但如果有人能告诉我处理这种情况的最佳方法,我将非常感激。
下进行。
答案 0 :(得分:1)
尝试这样的事情:
$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