2017-09-18 2 views
0

Je suis nouveau dans Laravel 5 et j'ai besoin d'aide, J'ai deux modèles (poste et catégorie) avec une relation à plusieurs (catégorie a beaucoup de messages) et j'ai besoin pour obtenir seulement les catégories qui a des messages affectés.Comment puis-je obtenir des données de la relation un à plusieurs

exemple:

****category 
    id_cat  nom_cat 

    1   cat1 
    2   cat2 
    3   cat3 
    4   cat4 

    post 

    id_post  nom_post id_cat** 
     1   post1  1 
     2   post2  1 
     3   post3  4 

    result 

    id_cat nom_cat 
     1   cat1  
     4   cat4** 

grâce

Répondre

1

Disons que les messages qu'ils ont une seule catégorie. Et chaque catégorie a beaucoup de messages liés.

déclarer les relations.

modèle post:

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

modèle Catégorie:

public function posts() 
{ 
    return $this->hasMany(Post::class); 
} 

alors vous pouvez obtenir des catégories qui ils ont des postes.

$categories = App\Category::has('posts')->get();