【发布时间】:2012-08-06 09:45:39
【问题描述】:
使用 Yii 框架。
我有 3 个模型。
文章 - 表文章(id,名称)
ArticlesToAuthors - 表articles_to_authors(id、article_id、author_id、类型)
Authors - 表作者(id、name)
我需要获取作者。*,article_to_authors.type 用于特定的 article_id。
我试图在 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);
}
}
-
我可以将所有活动记录对象合二为一,而不是在 foreach 中执行 foreach 吗? 我需要一个类似于 sql "SELECT atoa., a. FROM
articles_to_authorsatoa LEFT JOIN authors a ON atoa.author_id=a.id WHERE atoa.article_id=:article_id" 我做得对吗?
附言- 对不起我的英语不好。
【问题讨论】:
标签: activerecord join yii