Cakephp虚拟字段如果此列为空,则使用此列

时间:2013-12-04 18:49:34

标签: mysql sql database cakephp cakephp-2.0

我有一个名为“Contacts”的表,我想创建一个名为customer的虚拟字段。

联系人有列,名为first_name,last_name,company。

我通过连接三个

来创建虚拟字段
public $virtualFields = array(
'customer' => "CONCAT(Contact.first_name, ' ', Contact.last_name, ' ', Contact.company)"        
);

但是如何创建它以便它只显示公司,但如果它是null或空字符串,它将显示名字和姓氏

1 个答案:

答案 0 :(得分:6)

您可以尝试将SQL IF语句放入其中:

public $virtualFields = array(
'customer' => "IF(Contact.company IS NULL OR Contact.company = '', CONCAT(Contact.first_name, ' ', Contact.last_name, ' ', Contact.company), Contact.company)"
);

is null or is empty而言,您的数据库是否没有一致的空值?如果没有,它应该,你应该解决它......