Primer Paso:
El primer paso para construir un buscador en tiempo real con Livewire es crear un campo de entrada donde el usuario pueda ingresar lo que está buscando. Este campo de entrada se conectará al componente de Livewire utilizando la directiva ‘wire:model=”search”’. Es importante que el nombre de la propiedad (`search`) sea el mismo en el componente de Livewire
Asegúrate de que el código esté dentro de un archivo HTML o en la vista de tu aplicación, y de haber importado correctamente las dependencias necesarias de Livewire. Además, recuerda que puedes personalizar las clases y estilos según tus necesidades.
Segundo Paso:
La función ‘render’ en el componente de Livewire se encarga de renderizar la vista donde se encuentra el HTML. Se declara una propiedad pública llamada ‘$search’, la cual se sincroniza en tiempo real con el texto que el cliente introduce en el campo de entrada. Dentro de la función ‘render’, se realiza una búsqueda de los posts filtrando según el input del usuario. Luego, se pasa la variable ‘$posts’ a la vista llamada ‘livewire.article-blog’ utilizando la función ‘view()’ y la función ‘compact()’ para compactar la variable en un array asociativo.
public $search; public function render() { $posts = Post::where('status', 2) ->where('name', 'LIKE', "%{$this->search}%") ->latest('id') ->paginate(9); return view('livewire.article-blog', compact('posts')); }
Tercer Paso:
Después de obtener los posts filtrados en la función ‘render’, puedes usar un bucle @forelse en la vista para mostrar los resultados de la búsqueda al usuario. La directiva de Blade @forelse te permite iterar sobre la colección de posts y mostrar cada uno de ellos
@forelse ($posts as $post )@empty @endforelseNo hay publicaciones que coincidan con esta busqueda