[英]Yii Model Relation 'on' option to join the tables in yii Model relation
Yii模型關聯發生了什么事! 我有2個型號:
`Question and Video`,
我在存錢
`question_id` in `Video model as foreign key`,
現在,我想在Question model
建立一個像這樣的關系:
'video'=>array(self::HAS_MANY, 'Video', '', 'on'=>'video.question_id=id'),
然后在clistview中,我顯示:
if (!empty($data->video))
echo CHtml::encode($data->video->video_title);
但是那里什么也沒發生,我的代碼有什么問題?
您的關系設置不正確:
'video'=>array(self::HAS_MANY, 'Video', 'question_id'),
//this compares Video->question_id to Question->primary_key
您無需指定on
,它使用第三個條件question_id
並將其與Question模型的主鍵進行比較,因為您正在指定HAS_MANY
。 如果您具有BELONGS_TO
關系,則第三個條件將引用該模型中的屬性,並將其與另一個模型中的外鍵進行比較。 因此,如果您在Video
模型上設置了相反的關系,則可能是:
'question'=>array(self::BELONGS_TO,'Question','question_id'),
//this compares Video->question_id to Question->primary_key
你目前也有
echo CHtml::encode($data->video->video_title);
由於您指定的是HAS_MANY
$data->video
將是Video實例的數組。 因此,您有兩個選擇,只需使用數組data->video[0]->video_title
的第一個元素,或將HAS_MANY
轉換為HAS_ONE
則它只會建立一個連接,而不會尋找多個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.