Laravel Model Sanitize is a package by Touhidur Rahman to handle the sanitization process of model data when creating and updating records.
Given the following call to User::create()
, the Sanitize package will remove non-fillable data automatically:
// 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);
The Sanitizable
trait will automatically work for the various create and update model methods (i.e., updateOrCreate, firstOrCreate, etc.).
If you are using $fillable
on models, this package will not be necessary, however, if you use $guarded = []
, this package will discard columns not found on the table.
The package also has two static methods for separating data with corresponding fields to get valid/invalid data:
$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',
]
*/
You can learn more about this package, get full installation instructions, and view the source code on GitHub.
This package was submitted to our Laravel News Links section. Links is a place the community can post packages and tutorials around the Laravel ecosystem. Follow along on Twitter @LaravelLinks