json([ 'data' => $package->get(), 'status' => true, ]); } public function create(PackageRequest $request) { $package = Package::create($request->all()); PackagesCacheHelper::cleanCachePackages(); return response()->json([ 'data' => $package, 'status' => true ]); } public function update(PackageRequest $request) { $id = $request->get('id'); $package = Package::find($id); $package->update($request->all()); PackagesCacheHelper::cleanCachePackages(); return response()->json([ 'data' => $package, 'status' => true ]); } public function delete(PackageRequest $request) { $id = $request->get('id'); Package::destroy($id); PackagesCacheHelper::cleanCachePackages(); return response()->json([ 'status' => true ]); } // Delete multiple packages public function deletes(PackageRequest $request) { $packages = $request->get('packages'); $ids = collect($packages)->pluck('id'); Package::whereIn('id', $ids)->delete(); PackagesCacheHelper::cleanCachePackages(); return response()->json([ 'data' => $ids, 'status' => true ]); } // Update multiple packages public function updates(PackageRequest $request) { $packages = $request->get('packages'); $ids = collect($packages)->pluck('id'); foreach ($packages as $packageRequest) { // convert to object|array to array $packageRequest = collect($packageRequest)->toArray(); // handle array $package = Package::find($packageRequest['id']); if ($package) { // exclude id field unset($package['id']); $package->update($packageRequest); } } PackagesCacheHelper::cleanCachePackages(); return response()->json([ 'data' => Package::whereIn('id', $ids)->get(), 'status' => true ]); } }