2017-04-27 28 views
0

我Yii中相当新的,我有这样的事情:警予CDbCriteria和子查询中加入statment

$criteria = new CDbCriteria(); 
... 
... 
$criteria->alias = 'l'; 
$criteria->join = 'LEFT JOIN (SELECT DISTINCT nip as tab_nip FROM licenses UNION SELECT DISTINCT nip FROM orders) as tab ON (tab.tab_nip = l.nip)'; 
$criteria->join .= ' LEFT JOIN products p ON l.product_id=p.id'; 
$criteria->join .= ' LEFT JOIN sticky_notes sn ON l.last_sticky_note_id'; 

然后

self::model()->with('product')->findAll($criteria); // self it's model class for table with l alias 

我得到的结果,但我不能访问tab.tab_nip。这里有什么问题?我不能用这个表达方式吗?我应该用

Yii::app()->db->createCommand($sql)->queryAll(); 

感谢您的帮助:)

回答

0

好的我解决了它。 我在我的模型类中添加了公共属性tap_nip,现在它可以正常工作。