2015-10-15 64 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