ActiveRecordで複合キーを使いたい。私は2つのテーブルを手に入れました。
引用とコメント。引用には pk- idが含まれます。コメント pk は複合 - module、section、cidです
module - コメントの元となるモジュール名。
section - このモジュールのセクション
cid - 識別子。この場合、これは引用の ID です。
コメントでは、主キーをそのように定義しました。
public function primaryKey()
{
return array('module', 'section', 'cid');
}
次に、引用に関連するレコードを取得したいと思います。だから、引用符で私は関係を宣言しました:
'comments' => array(self::HAS_MANY, 'Comment', 'module, section, cid', 'params' => array(
':ypl0' => '"quotes"',
':ypl1' => '"quote"',
':ypl2' => 'id'
)),
必要な結果は次のとおりです。
SELECT * FROM quotes q
LEFT JOIN comments c ON (c.cid = q.id AND module = "quotes" AND section = "quote")
WHERE c.id IS NULL
SQL は機能していますが、関係はありません。私が間違っていることは何ですか?