1

嗨,我在 Codeigniter 中有一辆运行良好的购物车。我试图寻找折扣/优惠券处理但不能。

这是我的购物车代码:

public function addToCart($id){

    $this->load->model('products_model');

    $products = $this->products_model->getItemDetail($id);

    foreach ($products as $product) {
        $insert = array(
            'id' => $product->id,
            'name' => $product->name,
            'qty' => '1',
            'price' => $product->item_eur,
            'image' => $product->image,
            'options' => array(
                'info' => $product->cart_description,
                'qty_description' => $product->qty_description
                )
            );
        $this->cart->insert($insert);
    }

    $last = end($this->cart->contents());
    echo $last['rowid'];
}

我想从数据库中读取优惠券代码并将折扣作为商品插入购物车:

public function addCoupon(){
    $this->load->model('products_model');
    $res = $this->products_model->getCoupon($_POST['value']);
    if($res){
        foreach($res as $result){
            $coupon = array(
                'id' => $result->id,
                'name' => $result->name,
                'qty' => '1',
                'price' => $result->discount,
                'options' => array(
                    'info' => 'coupon',
                    'qty_description' => ''
                    )
                );
            $this->cart->insert($coupon);
        }
        echo '1';
    }else{
        $this->lang->load('products');
        echo $this->lang->line('cart_notok');
    }
}

数据库在哪里

[name:type] (example)
id:int (1)
name: varchar ('Discount of 20€')
code: varchar ('AFD1234')
discount: decimal (-20)

[编辑]

和模型:

public function getCoupon($code){

    $results = $this->db->get_where('coupons', array('code' => $code));
    return $results->result();

}

该项目被添加到购物车,但如果'price' => $result->discount设置为-20或百分比,则将其设置为 +20 欧元而不是 -20 欧元。

有什么办法可以做到这一点?

4

0 回答 0