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، ويوفر ذلك كود أقصر وأكثر قابلية للقراءة.