Yii使用CActiveRecord->;具有共享列名的with()方法

Yii使用CActiveRecord->;具有共享列名的with()方法,yii,Yii,我正在使用Yii CActiveRecord A->with('B')->findAll()方法,其中一列与A和B共用,该列也是条件的一部分 现在的问题是,在执行它时,我得到了SQL错误,因为mySQL不知道我是要引用A.column还是B.column。我查看了执行的查询,在执行查询时,似乎yii将表命名为“t”,所以我在条件中添加了“t”。columnname,一切正常 我的问题是,在我使用条件作为 'CURDATE()当您不使用“with()”时,您可以编写您的条件,而无需在列名中附加别名

我正在使用Yii CActiveRecord A->with('B')->findAll()方法,其中一列与A和B共用,该列也是条件的一部分

现在的问题是,在执行它时,我得到了SQL错误,因为mySQL不知道我是要引用A.column还是B.column。我查看了执行的查询,在执行查询时,似乎yii将表命名为“t”,所以我在条件中添加了“t”。columnname,一切正常

我的问题是,在我使用条件作为

'CURDATE()当您不使用“with()”时,您可以编写您的条件,而无需在列名中附加别名“t”,但当您使用“with()”查找关系数据时,您需要将别名“t”添加到基本模型条件中。如果它们不是具有关系的公共列,则可以避免基础模型的别名


Yii默认为基础模型“t”添加别名,因此您应该在基础模型的列名中使用“t”。

hi onkarjanwa。感谢您的ans。这是实现这一目标的规定/记录方式吗?你提到的事实已经在我的问题文本中提到。我的问题是,这是否是Yii CActiveRecord查询的标准做法。这里有一些url,你可以在这里找到一些东西。