Sanitasi Data Model Secara Otomatis Di Laravel
Sanitasi Data Model Secara Otomatis Di Laravel - Laravel Model Sanitize adalah paket laravel yang dibuat oleh Touhidur Rahman untuk menangani proses sanitasi data model saat membuat dan memperbarui catatan.
Dengan panggilan berikut ke User::create()
, paket Sanitize akan menghapus data yang tidak dapat diisi secara otomatis:
<?php
// Using the package's Sanitizable triat
use Touhidurabir\ModelSanitize\Sanitizable;
use Illuminate\Database\Eloquent\Model;
class User extends Model {
use Sanitizable;
}
// The trait removes the `data` key, which is not a fillable field
$data = [
'email' => '[email protected]',
'password' => 'password',
'data' => 'some data' // Invalid field
];
User::create($data);
`Sanitizable` trait akan otomatis bekerja untuk berbagai metode membuat dan memperbarui model (i.e., updateOrCreate, firstOrCreate, etc.).
Jika kamu menggunakan `$fillable` di model, maka tidak memerlukan paket ini, Tetapi, jika kamu mengguanakn `$guarded = []`, paket ini akan membuang kolom yang tidak ditemukan di tabel.
Paket ini juga memiliki dua metode statis untuk memisahkan data dengan bidang yang sesuai untuk mendapatkan data yang valid / tidak valid:
<?php
$data = [
'email' => '[email protected]',
'password' => 'password',
'data' => 'some data',
'name' => 'Test User'
];
// Get only valid fields
User::sanitize($data);
/*
[
'email' => '[email protected]',
'password' => 'password',
'name' => 'Test User'
]
*/
// Get invalid attributes from data
User::gibberish($data);
/*
[
'data' => 'some data',
]
*/
Kamu dapat mempelajari lebih lanjut tentang paket ini, mendapatkan petunjuk instalasi lengkap, dan melihat sumber kode di GitHub nya.