저는 yii 프레임 워크에서 새로운 기능입니다. 나는 yii 프레임 워크에 3 개의 다른 테이블을 가지고있다.다른 테이블에서 데이터를 가져와 Yii 배열로 유지하는 방법
먼저 표
첫 번째 테이블은 언어 (ID, LANGUAGE_NAME) // ID가 기본 키입니다.
번째 테이블
번째 테이블이 절 (ID, topic_id, verse_text) // ID는 외국 topic_id 키 기본 키이다.
세 번째 표
세 번째 표는 verse_translations입니다 (아이디, verse_id, LANGUAGE_ID, translations_text) // ID, LANGUAGE_ID가 // verse_id와 외래 키 참조하고, 언어 테이블과 외래 키 참조 기본 키입니다 운문 테이블.
내 질문이 있습니다.
어떻게 아래의 주어진 테이블과 같은 결과를 가져 오는 쿼리를 작성하거나 관계 등을 사용합니다.
verse_id | topic_id | verse | verse_translation | language |
1 1 verse here translation here English
translation here Spanish
translation here Japanese
translation here Italia
내 컨트롤러 방법
public function actionVerse()
{
$topic_id = 1;
$result = Yii::app()->db->createCommand()->setFetchMode(PDO::FETCH_OBJ)
->select('v.id, v.verse_text, vt.translation_text, l.language_name as lname)
->from('verse v')
->join('verse_translations vt' , 'v.id = vt.verse_id')
->join('language l' , 'l.id = vt.language_id')
->where('t.id = :var' , array(':var'=>$topic_id))
->queryAll();
$dataProvider=new CArrayDataProvider($result, array(
'id'=>'Verse',
'sort'=>array(
'attributes'=>array(
'id','verse_text','translation_text','lname'
),
),
'pagination'=>array(
'pageSize'=>10,
),));
$this->render('myverse',array('dataProvider'=>$dataProvider));
}
는 어떤 도움을 이해할 수있을 것이다.
감사합니다.
우리가 귀하의 질문에 도움을 줄 수있는 포럼입니다. 모든 경로와 테스트는 우리가하지 않아야합니다. 위 스크립트에서 쿼리를 구현하면 원하는 결과를 얻을 수 있습니다. –