我正在使用 Yii CActiveRecord A ->with('B')->findAll() 方法,其中 hte 列之一与 A 和 B 通用,并且该列也是条件的一部分。
现在的问题是,在执行它时,我得到了 SQL 错误,因为 mySQL 不知道我是要引用 A.column 还是 B.column。我查看了执行的查询,似乎 yii 在执行查询时将表命名为 't',所以我在条件中附加了 't'.columnname 并且一切正常。
我的问题是这种代码是否适合我使用条件为
'CURDATE() <= date
AND t
. removed
= :删除 AND ispublic
= 1 AND isopen
= 1'
虽然我没有提到查询中的“t”。Yii 自己重命名表。如果这似乎是一种很好的编码实践,或者是否有更好的方法,请告诉我。
谢谢。