Maison > cadre php > YII > Que dois-je faire si yii2 hasone signale une erreur ?

Que dois-je faire si yii2 hasone signale une erreur ?

藏色散人
Libérer: 2020-07-20 10:46:57
original
2043 Les gens l'ont consulté

La solution à l'erreur yii2 hasone : ouvrez d'abord le fichier correspondant selon la documentation ; puis modifiez l'instruction en "function getUser(){return $this->hasOne(User::className... )}" c'est Can.

Que dois-je faire si yii2 hasone signale une erreur ?

yii2 hasOne erreur de fonctionnement de la relation

Problème spécifique :

J'ai 2 tables : Utilisateurs et Favoris :

users table
favorite
Copier après la connexion

Maintenant, j'ai une relation dans le modèle "Favoris" comme indiqué ci-dessous

public function getUser()
{
    return $this->hasOne(User::className(), ['id', 'user_favorited']);
}
Copier après la connexion

Dans le contrôleur, j'ai trouvé la liste des favoris des utilisateurs

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;
}
Copier après la connexion

Mais lorsque je demande cette opération, j'obtiens une erreur

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))",
Copier après la connexion

S'il vous plaît, aidez-moi !

Recommandé : "Tutoriel yii"

Solution :

Selon la documentation, vous devez utiliser :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal