首页 >php框架 >YII >yii2 hasone 报错怎么办

yii2 hasone 报错怎么办

藏色散人
藏色散人原创
2020-07-20 10:46:572044浏览

yii2 hasone报错的解决办法:首先根据documentation打开相应的文件;然后修改语句为“function getUser(){return $this->hasOne(User::className...)}”即可。

yii2 hasone 报错怎么办

yii2 hasOne关系工作错误

具体问题:

我有2个表:用户和收藏者:

users table
favorite

现在,我在“收藏夹”模型中建立了如下所示的关系

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

在控制器中,我找到了用户收藏夹的列表

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

但是当我请求此操作时,我得到一个错误

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

请帮我!

推荐:《yii教程

解决方法:

根据documentation,您必须使用:

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

以上是yii2 hasone 报错怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn