Laravel Model Sanitize – це пакет від Touhidur Rahman, щоб керувати процесом дезінфекції даних моделі під час створення та оновлення записів.
Надано наступний виклик User::create ()
, пакет Sanitize автоматично видалить дані, які не підлягають заповненню:
// 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
автоматично працюватиме для різних методів створення та оновлення моделі (наприклад, updateOrCreate, firstOrCreate тощо).
Якщо ви використовує $fillable
на моделях, цей пакет не буде потрібним, однак, якщо ви використовуєте $guarded = []
, цей пакет відхилить стовпці, яких немає в таблиці.
У пакеті також є два статичні методи для розділення даних із відповідними полями для отримання дійсних/недійсних даних:
$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',
]
*/
Ви можете дізнатися більше про цей пакет, отримати повні інструкції зі встановлення та перегляньте вихідний код на GitHub.
< em>Цей пакет було надіслано до нашого Розділ посилань на новини Laravel. Посилання – це місце, де спільнота може публікувати пакети та навчальні посібники в екосистемі Laravel. Підписуйтесь на Twitter @LaravelLinks