Heim > Fragen und Antworten > Hauptteil
Ich habe die folgende Tabelle in der Tabelle „Kategorien“.
id | Name | parent_id |
---|---|---|
1 | Studenten | leer |
2 | Lehrer | leer |
3 | Mathestudenten | 1 |
4 | Studenten der Naturwissenschaften | 1 |
Ich habe die folgende Tabelle in der Tabelle „Release“.
id | Name | category_id |
---|---|---|
1 | Ajie | 3 |
2 | Mohan | 3 |
Post.php-Datei im Modell
public function category(){ return $this->belongsTo(Category::class, 'category_id', 'id'); }
Wenn ich den folgenden Code eingebe, erhalte ich den Namen der dritten ID, nämlich math_student.
$post->category->name
Aber ich möchte den Namen der übergeordneten ID der Kategorie erhalten, also „Student“
Ich habe den folgenden Code ausprobiert, aber es ist ein Fehler aufgetreten.
$post->category->parent_id->name
Bitte schlagen Sie mir eine Lösung vor
P粉3930309172023-09-13 10:28:10
在类别模型中,添加父关系:
public function parent(){ return $this->belongsTo(Category::class, 'parent_id', 'id')->withDefault(); }
然后,就可以获取父名称
$post->category->parent->name
P粉9900084282023-09-13 00:59:29
您需要使用 parent_id
建立关系,以在其内部查找 Category
的模型实例。
在 Category.php 模型中:
public function parent(){ return $this->belongsTo(Category::class, 'parent_id', 'id'); }
之后,您将能够:
$post->category->parent->name;