Codeigniter не добавляет товары в корзину - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь добавить товары в корзину, когда я впервые попробовал, чтобы она работала, но когда я сделал функцию обновления, функция вставки не работает, кто-нибудь может помочь?заранее спасибо

Это код

public function addCart($id,$qty,$price,$name,$color,$cat)
    {
        $size=$this->input->post('size');
        $data = array(
        'id'      => $id,
        'qty'     => $qty,
        'price'   => $price,
        'name'    => $name,
        'options' => array('Size' => $size, 'Color' => $color)
        );

        $res=$this->cart->insert($data);
        if($res == true){
            $this->session->set_flashdata('success',urldecode($name).' Added in Cart.');
        redirect('product/view_all/'.$cat);    
        }
        else{
            $this->session->set_flashdata('success','Product Adding Failed :(');
        redirect('product/view_all/'.$cat);
        }

    }

    public function viewCart()
    {
        $data['title']="Products in Cart | DreamShopie.in";
        $this->load->view('templates/header',$data);
        $this->load->view('templates/menu');
        $this->load->view('main_page/cartView',$data);
        $this->load->view('templates/footer');
    }

    public function removeCart($id)
    {        
        $data = array(
           'rowid' => $id,
           'qty'   => 0
        );

    $this->cart->update($data);
    $this->session->set_flashdata('success', 'Item Removed');
    redirect('cart/viewCart');
    }

Ответы [ 3 ]

0 голосов
/ 27 января 2019
Функции

insert() и update() в модели cart должны быть такими:

public function insert($data){
    return $this->db->insert('table', $data);
}

public function update($data){
    $this->db->where('column', $value);
    $this->db->set($data);
    return $this->db->update('table');
}
0 голосов
/ 27 января 2019

Я сам нашел ответ, ошибка произошла, потому что имя содержит недопустимые символы в URL, поэтому я использую функцию urldecode для имени

Проблема решена.

0 голосов
/ 27 января 2019

Предполагая, что $ this-> cart - это ваша БД, вы не пропустили имя БД?

 $this->cart->insert('db_name', $data);
...