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.
yii2 hasOne erreur de fonctionnement de la relation
Problème spécifique :
J'ai 2 tables : Utilisateurs et Favoris :
users table favorite
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']); }
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('123'); } return $favorite; }
Mais lorsque je demande cette opération, j'obtiens une erreur
Column not found: 1054 Unknown column '0' in 'where clause'\nThe SQL being executed was: SELECT * FROM `users` WHERE (`0`, `1`) IN ((12, 80))",
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(), ['id' => 'user_favorited']); }
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!