php CI $ this-> cart-> insert($ data)获得空值

时间:2019-03-18 14:15:19

标签: php codeigniter null codeigniter-3 cart

我在脚本中得到堆栈。我使用了Code Igniter ver。 3.1.10。我在控制器中使用购物车库

这里是我的控制器

    public function add_to_cart()
        {
            $idit=$this->input->post('id_item');
            $product=$this->Salesmodel->get_item($idit);
            $i=$product->row_array();
            $data = array(
                   'id'             => $i['id_item'],
                   'name'           => $i['name_item'],
                   'main_price'     => $i['main_price'],
                   'sell_price'     => $i['sell_price'],

                );

            $this->cart->insert($data);
            $rows = count($this->cart->contents());    // I want to find out rows count and result is null
            echo $i['id_item'];                     //get value, not null
            echo $rows;                                // get '0'

        }

model.php

function get_item($idit)
{
   $rslt=$this->db->query("SELECT * FROM tb_item where id_item='$idit'");
   return $rslt;
}

但是在该脚本中,我总是得到购物车的空行数。 我必须在config.php中添加此脚本:

$config['sess_use_database'] = TRUE;

我还用名称创建了一个新表

  

ci_session

但是返回相同的结果,我的购物车始终具有空行数和空数据。请帮我解决我编写的脚本中的错误。

预先感谢

1 个答案:

答案 0 :(得分:0)

为了正确保存到购物车中,需要 这四个数组索引:
id-项目标识符。
qty-项目数量。
price-商品价格。
name-项目名称。

第5个索引为options,您可以存储所需的所有其他属性(尽管应为数组)。

因此您可以像这样修改$data数组:

        $data = array(
               'id'             => $i['id_item'],
               'qty'            => 1, // here I just manually set it to 1
               'name'           => $i['name_item'],
               'price'          => $i['main_price'], // here I changed 'main_price' index to 'price'
               'options'        => array('sell_price' => $i['sell_price']) // moved the 'sell_price' array here

            );