Bad Practice Example
class MaterialController
{
public function store(StoreMaterialRequest $request)
{
$material = new Material();
$material->name = $request->name;
$material->code = $request->code;
$material->amount = $request->amount;
$material->type = $request->type;
$material->save();
}
}
What To Do Instead
class Material extends Model
{
$fillable = ['name', 'code', 'amount', 'type'];
}
class MaterialController
{
public function store(StoreMaterialRequest $request)
{
Material::create($request->validated());
}
}
التوضيح
من خلال إستخدام create فإنها يتم إنشاء وحفظ instance من الموديل في قاعدة البيانات، ويجب تحديد الـ attributes من خلال إستخدام fillable، ويوفر ذلك كود أقصر وأكثر قابلية للقراءة.