我正在使用CodeIgniter,
我能够导出数据。我在Excel工作表中有一列称为“状态”的列。在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");