Search Laravel

Par SoBaDayz, il y a 8 ans


Bonjour;

J'ai créé un système de search ! Avec possibilité d'entrer des champs choisir une région et un département ! J'aimerais avoir un système au point s'il choisit une région ça lui affiche les articles de la région et s'il choisit un département cela lui montre les articles du département !

Exemple:

j'ai 2 articles

Article 1 = Bretagne Finistère & Article 2 = Bretagne Côtes-d'Armor !

Quand je choisis la région Bretagne il doit m'afficher les 2 articles donc ceci fonctionne le problème si je choisis par exemple la région Finistère l'article 1 reste bien mais l'article 2 reste aussi j'aimerais ne plus l'afficher car il est dans Bretagne mais pas dans le Finistère !

Voici mon code:

PostController

if($posts = $query){ $posts = Post::search($query)->paginate(5); }elseif ($posts = $queryRegion){ $posts = Post::searchRegion($queryRegion)->paginate(5); }elseif($posts = $queryDepartement){ $posts = Post::searchRegion($queryDepartement); }else{ $posts = Post::paginate(5); }

Post

public function scopeSearch($query, $search){ return $query->where(function($query) use ($search) { $query->where('title', 'LIKE', "%$search%"); }); } public function scopeSearchRegion($query, $search){ return $query->where(function($query) use ($search) { $query->where('region_id', 'LIKE', "%$search%"); }); } public function scopeSearchDepartement($query, $search){ return $query->where(function($query) use ($search) { $query->where('departement_id', 'LIKE', "%$search%"); }); }

Je vous remercie !

Aucune réponse