Yii フレームワークを使用しています。
私は3つのモデルを持っています。
記事 - テーブルの記事 (id、名前)
ArticlesToAuthors - テーブル article_to_authors (id、article_id、author_id、type)
Authors - テーブルの作成者 (id、name)
特定の article_id について、authors.*、article_to_authors.type を取得する必要があります。
私は ArticlesToAuthors モデルでそのような関係を作ろうとしていました:
'authors' => array(self::HAS_MANY, 'Authors', array('id' => 'author_id'), ),
それから私はクエリを作成しました:
$authors = ArticlesToAuthors::model()->with('authors')->findAll(array('condition' => 'article_id=2217') );
foreach($authors as $a)
{
//this is not working
#var_dump($a->authors->name);
#var_dump($a->name);
//this works fine
foreach($a->authors as $aa)
{
var_dump($aa->name);
}
}
すべてのアクティブなレコード オブジェクトを 1 つにまとめて、foreach で foreach を実行しないようにすることはできますか? SQL "SELECT atoa. , a. FROM
articles_to_authors
atatoa LEFT JOIN authors a ON atoa.author_id=a.id WHERE atoa.article_id=:article_id"に類似したものが必要です私は正しくやっていますか?
ps - 下手な英語で申し訳ありません。