Paginación

Se nos olvido la clase pasada usar use WithFileUploads; en app/Http/Livewire/ShowPosts.php para poder subir imágenes!

ShowPosts Ahora vamos a usar el método paginate() en render() en ShowPosts, quitamos el get() y lo sustituimos por paginate(5):

$posts = Post::where('title', 'like', '%' . $this->search . '%')
        ->orWhere('content', 'like', '%' . $this->search . '%')
        ->orderBy($this->sort, $this->direction)
        ->paginate(5);

show-posts Y Para colocar los enlaces de Paginación en resources/views/livewire/show-posts.blade.php:

<div class="px-6 py-3">
    {{ $posts->links() }}
</div>

ShowPosts Para que la paginacion sea dinamica y no tenga que regargar cada vez que pedimos que cambie de pagina, usamos Livewire\WithPagination en app/Http/Livewire/ShowPosts.php:

use Livewire\WithPagination;

class ShowPosts extends Component
{
    use WithFileUploads;
    use WithPagination;

    ...
}     

show-posts Para que los links de Paginación solo estén cuando sea necesario:

{{-- Para mostrar los links de Paginación --}}
@if ($posts->hasPages())
    <div class="px-6 py-3">
        {{ $posts->links() }}
    </div>
@endif 

En la siguiente clase vamos a resolver el problema de que si nos colocamos en una de las paginas, y hacemos una búsqueda de un registro de otra pagina, nos va a decir que el registro no existe. Liso!