So implementieren Sie die effizienteste Datenbanksuchmethode in Laravel's Inertia/Vue
P粉458725040
2023-08-15 18:05:26
<p>Ich möchte die Kundenliste durchsuchen und die Komponente unverändert ändern. </p>
<p>Ich suche derzeit über diesen Link /customer/$searchColumn/$searchTerm?page=4</p> nach einem bestimmten Kunden.
<p>Das gibt mein Controller zurück</p>
<pre class="brush:php;toolbar:false;">return Inertia::render('Dashboard', [
'customers' => Customer::whereLike("nr", (string)$request)->paginate(10),
]);</pre>
<p>Rendert eine paginierte Tabelle aller gefundenen Elemente. </p>
<p>Vue ist derzeit sehr einfach:</p>
<pre class="brush:php;toolbar:false;">
<pre class="snippet-code-html lang-html Prettyprint-override"><code><script setup>
importiere { usePage } aus '@inertiajs/vue3'
Paginierung aus „@/mycompany/Pagination.vue“ importieren;
const page = usePage()
</script></code></pre>
<Code>
</code></pre>
<p>Im Frontend rendere ich eine Tabelle mit:</p>
<pre class="brush:php;toolbar:false;">
<pre class="snippet-code-js lang-js Prettyprint-override"><code>v-for="customer in $page.props.customers.data"</code></pre>
<Code>
</code></pre>
<p>Ich möchte ein Suchfeld oben in der Tabelle, das die Ergebnisse während der Eingabe neu lädt. </p>
<p>Ich weiß nicht, wo ich anfangen soll. </p>
对于这种情况,您可以使用常规的ajax/fetch请求来完成。
Inertia仍然利用laravel进行路由,所以没有某种请求或重定向是不可能完成这种表单请求的。
甚至
inertia.js
的创建者也支持使用xhr/fetch请求与inertia一起使用。