2015-10-15 44 views
3

我有2個表:用戶和喜愛的以下內容:yii2 hasOne關係工作錯誤

users table

favorite

現在我建立像在收藏模式下它們之間的關係

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

in Controller我找到了用戶的收藏夾列表

public function actionGetList() 
{ 
    $favorite = Favorite::find()->where([ 
       'user_favoriting' => Yii::$app->user->id 
      ])->all(); 
    foreach ($favorite as $key => $item) { 
     # code... 
     echo "<pre>"; var_dump($item->user); echo "<br/>"; die('123'); 
    } 
    return $favorite; 
} 

但是,當我主動要求這個動作我得到一個錯誤

Column not found: 1054 Unknown column '0' in 'where clause'\nThe SQL being executed was: SELECT * FROM `users` WHERE (`0`, `1`) IN ((12, 80))", 

請幫幫我!

回答

3

根據documentation,你必須使用:

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

感謝您的答案,但現在看來,這與我的關係建立在我的問題一樣 – hoangk

+0

是的,我發現我的失敗...謝謝 – hoangk