Bonsoir,

Je me confronte à un souci avec Eloquent. Je vous explique.

Déjà, je vous joins un schéma de la base de données que j'ai conçu
http://www.laravelsd.com/share/hQcJcJ

Donc j'ai des propriétés (properties), j'ai des critères (criteria), et des types (types) + 2 tables pivot

Critères c'est par exemple, superficie, jardin ....
Types, c'est par exemple, vente ou location

Maintenant, un critère peut être lié à une vente OU à une location mais il peut être aussi lié à une vente ET une location.

Voici les modèles que j'ai conçu :

Dans Property
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    public function criteria()
 
    {
 
        return $this->belongsToMany(Criteria::class, 'criterion_property', 'property_id', 'criterion_id')->withPivot('value');
 
    }
Dans Criterion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    public function types()
 
    {
 
        return $this->belongsToMany(Type::class, 'criterion_type', 'criterion_id', 'type_id');
 
    }
Je dois maintenant ressortir la liste des critères de la propriété seulement si le critère à bien le type_id équivalent à la table pivot criterion_type.

Pas facile à expliquer, j'espère que vous aurez compris ma demande

Merci encore