Recherche Simple dans laravel
Je suis en train de construire un système de recherche dans mon petit laravel projet mais vu que je suis encore un débutant, je ne peux pas comprendre comment cela devrait fonctionner..
En gros, j'ai un contrôleur qui renvoie une page d'index avec tous les utilisateurs. Dans la page d'index, j'ai de multiples sélectionnez les balises où vous pouvez choisir une option de filtre et les utilisateurs.
Voici ma méthode de l'indice:
public function index(){
$users = User::all();
$service = Service::all();
return view('browse.index', compact('users','service'));
}
Maintenant, le truc, c'est que j'ai une relation construite entre les utilisateurs et les services. Ainsi, chaque utilisateur hasMany services. Avec cela à l'esprit, alors que je suis en train de construire la fonction de recherche, je veux être en mesure d'accéder au service à l'usager.
Quelque chose comme ceci:
$category = $request->input('category');
foreach ($users as $user) {
$serviceFound = $user->service->where('category', 'LIKE', '%' . $category . '%');
}
Bien sûr, cela ne fonctionne pas car en considérant que j'ai un parcours de mon index, je ne sais pas comment configurer le formulaire afin que je puisse utiliser le $demande.. j'espère que c'est clair...Peut-être que vous les gars peut m'aider avec la configuration de la forme et de la route et effacer mon esprit sur comment dois-je faire...
- Peut-être, si vous voulez obtenir la meilleure et la plus simple des options de filtrage dans votre point de vue essayez les tables de données.
Vous devez vous connecter pour publier un commentaire.
Créer un simple formulaire à l'aide de
GET
ainsi. Exemple SimpleDans votre contrôleur, vous ne
Désireux de chargement ne fonctionne que si vous avez vos relations en place correctement.
Gardez votre itinéraire inchangé à la façon dont elle est maintenant.
return
de la fermeture. Je pense que j'ai malencontreusement ajoutéreturn $query->...
. Il devrait être$query->...
sans retour. Essayez à nouveau, s'il vous plaît.Dans votre contrôleur:
Dans vos itinéraires:
Exemple d'url:
Et enfin, la sortie
Vous pouvez également faire
$category = $request::get('category');
pour obtenir uniquement la catégorie comme une chaîne de caractères.