2013-01-07 37 views
0

我試着去使用自定義字段來創建另一個自定義字段,但是我得到錯誤。 我創建了示例代碼以便於理解。Yii的選擇使用自定義字段

Model.php:

public custom1; 
public custom2; 

示例代碼:

... 
$criteria->select=array("'custom1' AS custom1, CONCAT('variable: ', custom1) AS custom2"); 
... 

錯誤:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'custom1' in 'field list'. 
+0

您是否嘗試過將'select'設置爲不是數組的字符串? – topher

+0

@topher我需要,因爲即時通訊使用CONCAT和警予只允許使用它作爲一個'array'如果一個數組,因爲有逗號=/ –

+0

嘗試'$基準 - >選擇=陣列(「\'CUSTOM1 \'AS CUSTOM1 ,CONCAT( '變量:',CUSTOM1)AS CUSTOM2" );' – topher

回答

2

嘛,因爲你選擇使用它的功能與CDbExpression使用:

$criteria->select = array(
    new CDbExpression('custom as custom1'), 
    new CDbExpression('CONCAT("variable: ", custom) AS custom2'), 
);