Heim > PHP-Framework > YII > Hauptteil

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

藏色散人
Freigeben: 2020-07-20 10:46:57
Original
2022 Leute haben es durchsucht

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
Nach dem Login kopieren

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

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

Im Controller habe ich die Liste der Benutzerfavoriten <🎜 gefunden >

public function actionGetList()
{
    $favorite = Favorite::find()->where([
              &#39;user_favoriting&#39; => 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;
}
Nach dem Login kopieren

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))",
Nach dem Login kopieren

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;]);
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage