Comment implémenter la méthode de recherche de base de données la plus efficace dans Inertia/Vue de Laravel
P粉458725040
2023-08-15 18:05:26
<p>Je souhaite effectuer une recherche dans la liste des clients et modifier le composant tel quel. </p>
<p>Je recherche actuellement un client spécifique en utilisant ce lien /customer/$searchColumn/$searchTerm?page=4</p>
<p>Voici ce que renvoie mon contrôleur</p>
<pre class="brush:php;toolbar:false;">return Inertia::render('Dashboard', [
'clients' => Client::whereLike("nr", (string)$request)->paginate(10),
]);≪/pré>
<p>Rend un tableau paginé de tous les éléments trouvés. </p>
<p>Vue est actuellement très simple :</p>
<pre class="brush:php;toolbar:false;">
<pre class="snippet-code-html lang-html Prettyprint-override"><code><configuration du script>
importer { usePage } depuis '@inertiajs/vue3'
importer la pagination depuis '@/mycompany/Pagination.vue' ;
constpage = usePage()
</script></code></pre>
<code>
</code></pre>
<p>Sur le front-end, je restitue un tableau en utilisant :</p>
<pre class="brush:php;toolbar:false;">
<pre class="snippet-code-js lang-js Prettyprint-override"><code>v-for="client dans $page.props.customers.data"</code></pre>
<code>
</code></pre>
<p>Je souhaite un champ de recherche en haut du tableau qui recharge les résultats au fur et à mesure que je tape. </p>
<p>Je ne sais pas par où commencer. </p>
Dans ce cas, vous pouvez le faire en utilisant des requêtes ajax/fetch régulières.
Inertia utilise toujours Laravel pour le routage, il est donc impossible de remplir ce type de demande de formulaire sans une sorte de demande ou de redirection.
Même le créateur de
inertia.js
prend en charge l'utilisation des requêtes xhr/fetch avec inertie .