Heim  >  Fragen und Antworten  >  Hauptteil

So erhalten Sie den parent_id-Namen der Kategorietabelle aus der Post-Tabelle

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粉936568533P粉936568533403 Tage vor546

Antworte allen(2)Ich werde antworten

  • P粉393030917

    P粉3930309172023-09-13 10:28:10

    在类别模型中,添加父关系:

    public function parent(){
            return $this->belongsTo(Category::class, 'parent_id', 'id')->withDefault();
        }

    然后,就可以获取父名称

    $post->category->parent->name

    Antwort
    0
  • P粉990008428

    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;
    

    Antwort
    0
  • StornierenAntwort