Cara Yang Benar Untuk Menambahkan Filter Ke Laravel 10 - CRUDPRO

Cara Yang Benar Untuk Menambahkan Filter Ke Laravel 10

Cara Yang Benar Untuk Menambahkan Filter Ke Laravel 10

Jika Anda bekerja dengan Laravel dan perlu memfilter dan mengurutkan data berdasarkan input pengguna, Anda mungkin mendapati diri Anda menulis kode yang rumit dan berulang untuk menangani berbagai skenario. Misalnya, Anda mungkin perlu memfilter berdasarkan beberapa kolom, relasi, logika kustom, atau kombinasi dari semuanya. Anda mungkin juga perlu mengurutkan berdasarkan kriteria dan arah yang berbeda.

Saya menulis sebuah package yang dapat membantu Anda menyederhanakan proses ini dan membuat kode Anda lebih mudah dibaca dan dipelihara. Ini disebut Kemurnian Laravel.

Laravel Purity memungkinkan Anda menambahkan metode filter() dan sort() ke kueri Eloquent Anda, yang secara otomatis akan menerapkan filter dan sortir berdasarkan parameter permintaan. ada 20 filter di luar kotak, namun Anda juga dapat menentukan filter khusus menggunakan perintah artisan.

Untuk menggunakan Laravel Purity, Anda perlu menginstalnya melalui komposer:

composer require abbasudo/laravel-purity

Kemudian, Anda perlu menggunakan sifat Abbasudo\Purity\Traits\Filterable dalam model Anda:

use Abbasudo\Purity\Traits\Filterable;

class User extends Model
{
    use Filterable;
}

Sekarang, Anda dapat menggunakan metode filter() di pengontrol Anda atau di tempat lain:

public function index(Request $request)
{
    $users = User::filter()->get();

    return view('users.index', compact('users'));
}

Ini akan menerapkan filter apa pun yang diteruskan dalam string kueri permintaan. Misalnya, jika Anda memiliki kolom nama di tabel pengguna, Anda dapat memfilternya seperti ini:

/users?filters[name][$eq]=Jhon

Ini hanya akan mengembalikan pengguna dengan nama Jhon.

Itu adalah penggunaan paling sederhana dari package ini. untuk penggunaan yang lebih mendalam seperti pengecualian diam dan filter terbatas, kunjungi beranda package.