Laravel 4 et 5 du formulaire de recherche comme
J'ai un formulaire de recherche et les fonctions, le tout fait. Juste pour demander, est-il possible de le faire dans Éloquent une requête comme ceci:
SELECT * FROM players WHERE name LIKE '%".$name."%'
Pour afficher quelques noms correspondants. Mon actuelle de la fonction de contrôleur:
public function search()
{
$name = Input::get('character');
$searchResult = Player::where('name', '=', $name)->paginate(1);
return View::make('search.search')
->with('name', $name)
->with('searchResult', $searchResult);
}
Et de mon point de vue:
<form id="custom-search-form" class="form-search form-horizontal pull-right" action="{{ URL::action('CharactersController@search') }}" method="get">
<div class="input-append spancustom">
<input type="text" class="search-query" name="character" placeholder="Character/guild name">
<button type="submit" class="btn"><i class="icon-search"></i></button>
</div>
</form>
Merci d'avance.
Vous devez vous connecter pour publier un commentaire.
Hmmm, oui, il suffit de définir
like
que votre opérateur de comparaison, et envoyer la chaîne avec%
s'. Quelque chose comme ceci:Si vous avez besoin d'utiliser fréquemment le souhaitez, vous pouvez simplifier le problème un peu. Une méthode personnalisée comme () peuvent être créés dans le modèle qui hérite de la Éloquent:
Alors vous pouvez utiliser cette méthode dans une telle manière:
Avec citation de la chaîne:
Essayez les