2017-07-02 77 views
-1

我有两个表在数据库产品购买。在购买桌子上有一个json_type栏,在这里我把JSON格式像所有的购买数据 - 产品名称,产品ID,QNT,价格等。现在我想展示产品股票,如果购买产品编号相同产品ID它应显示总公斤/ qnt。经验 -试图加入json列与其他表普通列错误

标识 - 名称 - 公斤的

1 - ABC - 20

1 - ABC - 100

合计 - 120

,但我出现错误 -

功能purchase.JSON_ARRAY不存在 选择products。*,purchase.JSON_ARRAY( “total_kg”)作为公斤FROM products JOIN purchase ON purchase.JSON_ARRAY( “PRODUCT_ID”)= products.id

这里是我的查询代码 -

$this->db->select('products.*, purchase.JSON_ARRAY("total_kg") as kgs'); 
$this->db->from('products'); 
$this->db->join('purchase', 'purchase.JSON_ARRAY("product_id") = products.id'); 

$getQuery = $this->db->get(); 
if($getQuery){ 
    return $getQuery->result_array(); 
} 
else{ 
    return false; 
} 

这里是json_type列 -

{"products":["Asulak Silver 7"],"product_id":["4"],"qnt":["20"],"unit_price":["20"],"pack_size":["20"],"unit_pack":["1"],"packing":["Pot"],"total_kg":["20"],"total_price":["400"]} 

{"products":["Asulak Silver 7"],"product_id":["4"],"qnt":["15"],"unit_price":["150"],"pack_size":["15"],"unit_pack":["1"],"packing":["Pot"],"total_kg":["15"],"total_price":["2250"]} 

请高大的我哪里做错了。

注意:如果你问我为什么使用Json格式?我的答案是,我已经尝试了我知道的正常方式,但那些方法并不奏效。所以我不得不使用Json格式。

谢谢。

回答

0

json_array()是一个函数,而不是一个表的字段,因此在调用它时不能使用表前缀。所以,这只是JSON_ARRAY("product_id")