Yii 関連のクエリ問題
3 つのテーブル A B C
AB は 1 対多
BC は 1 対 1
C を満たすレコードをクエリして最終的に表示する方法A
------解決策---------
A---user テーブル (user_name フィールドあり) )
B---article テーブル (user_id フィールドあり)
C---article_content テーブル (article_content_id フィールドあり)
条件:article_content テーブルのarticle_content_id フィールドを通じてユーザーのユーザー名をクエリする
には 2 つが必要です リレーションの場合、model/Comment.php に 1 つ追加します:
<br />public function relations() {<br /> return array(<br /> ....<br /> 'userInfo' => array(self::BELOGNS_TO, 'User', 'user_id'),<br /> );<br />}<br />
<br />'article' => array(self::HAS_ONE, 'Article', 'article_content_id'),<br />
<br />$result = ArticleContent::model() -> find('article_content_id = :aid', array(':aid' => $articleId));<br />prinr_r($result -> attributes); // 打印出来的都是article_content表的字段<br />print_r($result -> article -> attributes); //得到article表的字段<br />print_r($result -> article -> userInfo -> user_name); //得到username<br />