Maison  >  Questions et réponses  >  le corps du texte

Comment obtenir le nom parent_id de la table de catégorie à partir de la table de publication

J'ai le tableau suivant dans le tableau "Catégories".

id Nom parent_id
1 Étudiants vide
2 Professeur vide
3 Étudiants en mathématiques 1
4 Étudiants en sciences 1

J'ai le tableau suivant dans le tableau "Release".

id Nom category_id
1 Ajie 3
2 Mohan 3

Fichier Post.php dans le modèle

public function category(){
            return $this->belongsTo(Category::class, 'category_id', 'id');
  }

Si je mets le code suivant, j'obtiendrai le nom du troisième identifiant qui est math_student.

$post->category->name

Mais je veux obtenir le nom du parent_id de la catégorie, c'est-à-dire - "Student"

J'ai essayé le code suivant mais erreur.

$post->category->parent_id->name

Veuillez me suggérer une solution

P粉936568533P粉936568533403 Il y a quelques jours549

répondre à tous(2)je répondrai

  • P粉393030917

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

    Dans le modèle de catégorie, ajoutez une relation parentale :

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

    Ensuite, vous pouvez obtenir le nom du parent

    $post->category->parent->name

    répondre
    0
  • P粉990008428

    P粉9900084282023-09-13 00:59:29

    Vous devez utiliser une instance modèle de parent_id 建立关系,以在其内部查找 Category.

    Dans le modèle Category.php :

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

    Ensuite, vous pourrez :

    $post->category->parent->name;
    

    répondre
    0
  • Annulerrépondre