yii连接语句中的CDbCriteria和子查询

时间:2017-04-27 06:56:51

标签: php mysql yii

我是Yii的新人,我有类似的东西:

$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();

感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

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