2015-06-09 48 views
1

我已經創建了休息api調用。如何在yii2中創建一對多的休息api調用

我有兩個表 1人 - 外鍵ID 2.接觸 - 外鍵是PERSONID

我已經爲這一個創建模型

class Group extends ActiveRecord 
    { 
     public function relations() 
     { 
      return array(
       'user'=>array(self::HAS_ONE,'User','id'), 
       'contact'=>array(self::HAS_MANY,'Contact','personId') 
      ); 
     } 
    } 

控制器被

public function actionView(){ 
     $group=Group::find(); 
     return $group; 
} 

這就夠了嗎?它不適合我。如何在yii中建立一對多關係

+0

你的代碼是Yii 1.0,你的問題標題是Yii 2.0,所以你使用Yii? –

回答

0

ActiveModel::find()返回一個ActiveQuery實例,它不運行查詢。 你要麼使用Group::findOne(primaryKey)Group::findAll(condition)或做return $group->one();return $group->all();

至於關係(在模型中):

public function getUser() 
{ 
    return $this->hasOne(User::className(), ['id', 'user']); 
} 

public function getContact() 
{ 
    return $this->hasMany(Contact::className(), ['personId', 'user']); 
} 

您調用與$group->user$group->contact。確保不要直接使用該函數,它還會返回一個ActiveQuery實例,該實例不是您的實際對象。

+0

它顯示,表不存在。我沒有組表 – Deen

+0

那你爲什麼要創建一個Group ActiveRecord呢?如果它使用另一個表,請覆蓋'tableName()'函數以返回它。 – Blizz

+0

我必須使用此代碼。組模型? – Deen

相關問題