Laravel Eloquent zugeordneter Funktionsname
P粉729198207
P粉729198207 2023-07-23 17:45:15
0
1
353

Ich habe zwei Tabellen, nämlich „Beiträge“ und „Kategorien“. Die Beziehung zwischen „Beiträgen“ und „Kategorien“ ist n:1. Daher lautet der Code im Klassenmodell „Post“ wie folgt:

belongsTo(Category::class); } }

Mit diesem Code wird die Anwendung erfolgreich ausgeführt.

Das Problem entsteht, wenn ich versuche, den Namen der Kategoriefunktion in „Kategorien“ zu ändern und auf den Kategorienamen des Beitrags wie folgt zuzugreifen:

Post::first()->categories->name, laravel gibt einen Fehler wie diesen aus Versuch, die Eigenschaft „name“ auf null in D:BelajarProgramCODINGANLaravelapplicationcoba-laraveleval() zu lesen 'd code.

(bearbeitet

Wenn der Name der Eloquent-Funktion „category“ lautet, gibt „Post::first()->category“ die Kategorie des Beitrags zurück. Wenn ich jedoch versuche, den Funktionsnamen in „Kategorien“ zu ändern und mit „Post::first()->categories“ darauf zuzugreifen, wird null zurückgegeben.

)

Ich habe versucht, den Namen der Eloquent-assoziierten Funktion im Kategorieklassenmodell in einen zufälligen Namen zu ändern, aber ich kann immer noch darauf zugreifen und Laravel meldet keine Fehler. Der Code des Kategorieklassenmodells lautet wie folgt:

hasMany(Post::class); } }

Kann mir jemand helfen? Warum kann ich den Eloquent-Funktionsnamen im Kategorieklassenmodell ändern, aber nicht im Postklassenmodell?

P粉729198207
P粉729198207

Antworte allen (1)
P粉330232096

进行以下操作应该可以解决问题:

public function categories() { return $this->belongsTo(Category::class, 'category_id', 'id'); }
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!