php - yii CDbCriteria 和 join 语句中的子查询

标签 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();

感谢您的帮助:)

最佳答案

好的,我已经解决了。 我在模型类中添加了公共(public)属性 tap_nip,现在它可以按我想要的方式工作。

关于php - yii CDbCriteria 和 join 语句中的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43650666/

相关文章:

php - 当默认状态被选中时如何记住复选框状态?

php - Laravel 定义复​​杂关系

mysql - 如何在vb.net WPF和MySQL中使用DataGrid获取/过滤两个日期之间的数据?

javascript - onmouseover 与 ajax 不工作

php - Yii 添加另一个 $content 到模板

php - 无法更新到 php 5.4 - AWS ec2

PHP/MySQL varchar 字段输入为数字

mysql - 当模式在字段中时如何编写查询

php - Json 响应未显示文本框中的值

mysql - yii 1 关系在 CGridView 中不起作用