/** * Store a supplier * * @return Response */ public function store() { if (!Input::has('supplier')) { return new JSend('error', (array) Input::all(), 'Tidak ada data supplier.'); } $errors = new MessageBag(); DB::beginTransaction(); //1. Validate Supplier Parameter $supplier = Input::get('supplier'); if (is_null($supplier['id'])) { $is_new = true; } else { $is_new = false; } $supplier_rules = ['name' => 'required|max:255']; //1a. Get original data $supplier_data = \App\Models\Supplier::findornew($supplier['id']); //1b. Validate Basic Supplier Parameter $validator = Validator::make($supplier, $supplier_rules); if (!$validator->passes()) { $errors->add('Supplier', $validator->errors()); } else { //if validator passed, save supplier $supplier_data = $supplier_data->fill($supplier); if (!$supplier_data->save()) { $errors->add('Supplier', $supplier_data->getError()); } } //End of validate supplier if ($errors->count()) { DB::rollback(); return new JSend('error', (array) Input::all(), $errors); } DB::commit(); $final_supplier = \App\Models\Supplier::id($supplier_data['id'])->first()->toArray(); return new JSend('success', (array) $final_supplier); }