簡體   English   中英

Yii Model Relation的“ on”選項可以聯接yii Model Relation中的表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM