我用的是codeigniter,
我可以导出数据。我在excel表中有一个名为“status”的列。在 status
我得到的专栏 1,0,0,1,-1,2
.
现在我必须在excel工作表中显示字符串名称。
-1="Pending"
0="Cancel"
1="Create"
2="Verified"
我知道我必须使用 CASE
但我不知道如何使用codeignator。
我试过下面的代码。
$this->db->select('tbl_customer.*,tbl_customer_shipping.*,product_order.*, CASE
WHEN product_order.o_order_status =-1 THEN "Pending"
WHEN product_order.o_order_status =0 THEN "Cancel"
WHEN product_order.o_order_status =1 THEN "Create"
ELSE "Verified"
END CASE');
$this->db->from('tbl_customer');
$this->db->join('tbl_customer_shipping', 'tbl_customer.cust_id=tbl_customer_shipping.cust_id', 'LEFT');
$this->db->order_by('product_order.o_date_of_added','DESC');
$query = $this->db->get();
$result = $query->result();
但它不起作用
我得到一个语法错误
Message: syntax error, unexpected 'CASE' (T_CASE)
你能帮我解决这个问题吗?
最后,我找到了解决办法。我忘了在事例的末尾加上列名,我用了一个双倒逗号。
$this->db->select("tbl_customer.*,tbl_customer_shipping.*,product_order.*,CASE
WHEN product_order.o_order_status =-1 THEN 'Pending'
WHEN product_order.o_order_status =0 THEN 'Cancel'
WHEN product_order.o_order_status =1 THEN 'Create'
ELSE 'Verified'
END as o_order_status");
暂无答案!
目前还没有任何答案,快来回答吧!