【发布时间】:2013-12-10 11:19:55
【问题描述】:
我是 yii 框架的新手。我在 yii 框架中有三个不同的表。
第一个表
第一个表是语言(id, language_name) // id 是主键。
第二张表
Second Table is verse(id,topic_id, verse_text) // id为主键,topic_id为外键。
第三张桌子
第三张表是 verse_translations(id, verse_id, language_id, translations_text) // id 是主键,language_id 是外键引用语言表, // verse_id 是外键引用诗句。
现在我的问题是。
我想获取所有带有特定 topic_id 的 verse_text。
那么如何通过外键(即topic_id)从模型Verse中获取所有记录,这些记录应该由数据提供者函数发送到视图。
此时我正在使用。
我的控制器方法
public function actionVerset()
{
$topic_id = 1;
$result=Verse::model()->with('topic_verse', $topic_id)->findAll();
$dataProvider=new CArrayDataProvider($result, array(
'id'=>'Verse',
'pagination'=>array(
'pageSize'=>2,
),));
$this->render('myverse',array('dataProvider'=>$dataProvider));
}
但它没有给出我想要的结果。
My Verse 模型关系法
public function relations()
{
return array(
'topic' => array(self::BELONGS_TO, 'Topic', 'topic_id'),
'verseTranslations' => array(self::HAS_MANY, 'VerseTranslations', 'verse_id'),
'verseLanguage' => array(self::HAS_MANY, 'VerseTranslations', 'language_id'),
'topic_verse' => array(self::BELONGS_TO, 'Verse', 'topic_id'),
);
}
任何帮助将不胜感激。
谢谢。
【问题讨论】: