Heim  >  Artikel  >  PHP-Framework  >  Was soll ich tun, wenn yii2 hasone einen Fehler meldet?

Was soll ich tun, wenn yii2 hasone einen Fehler meldet?

藏色散人
藏色散人Original
2020-07-20 10:46:571997Durchsuche

Die Lösung für den yii2 hasone-Fehler: Öffnen Sie zuerst die entsprechende Datei gemäß der Dokumentation und ändern Sie dann die Anweisung in „function getUser(){return $this->hasOne(User::className...“ )}" das ist Can.

Was soll ich tun, wenn yii2 hasone einen Fehler meldet?

yii2 hat einen Arbeitsfehler in einer Beziehung

Spezifisches Problem:

Ich habe 2 Tabellen: Benutzer und Favoriten:

users table
favorite

Jetzt habe ich eine Beziehung im Modell „Favoriten“, wie unten gezeigt

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

Im Controller habe ich die Liste der Benutzerfavoriten

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;
}

Aber wenn ich diese Aktion anfordere, erhalte ich eine Fehlermeldung

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))",

Bitte helfen Sie mir!

Empfohlen: „

yii-Tutorial

Lösung:

Laut Dokumentation müssen Sie Folgendes verwenden:

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

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn yii2 hasone einen Fehler meldet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn