Codeigniter 添加折扣商品

问题描述 投票:0回答: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 欧元。

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

php codeigniter shopping-cart
1个回答
0
投票

如果这是折扣,怎么可能是负数呢。用 -

添加值是一件愚蠢的事情
© www.soinside.com 2019 - 2024. All rights reserved.