public function store($request) { $cacheTag = ['checkouts']; $request = $this->dataJsonToApi($request); $validator = $this->validate($request['checkout']); if (!$validator->fails()) { $processes = Processes::getAll(); $request['checkout']['process_id'] = $processes[0]['id']; $request['checkout']['user_id'] = config('global.users.current.id'); $request['checkout']['code'] = date('ymdHi') . config('global.users.current.id'); Logs::create(['activity' => 'store', 'module' => 'checkouts']); Cache::tags($cacheTag)->flush(); $request['checkout']['company_id'] = config('global.companies.current.id'); $_checkout = Checkouts::create($request['checkout']); foreach ($request['products'] as $data) { $_checkout->products()->create($data); } return $_checkout; } else { return new \Exception($validator->errors()->first()); } }