私は Yii CActiveRecord A ->with('B')->findAll() メソッドを使用しています。ここで、列の 1 つは 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 は独自にテーブルの名前を変更します。これが優れたコーディング方法であると思われる場合、またはそれを行うためのより良い方法がある場合はお知らせください。
ありがとう。