Plan::get() ]); } public function save(PlanSave $request) { $params = $request->only(array_keys(PlanSave::RULES)); if ($request->input('id')) { $plan = Plan::find($request->input('id')); if (!$plan) { abort(500, '该订阅不存在'); } DB::beginTransaction(); if (isset($params->group_id) && ($params->group_id !== $plan->group_id)) { if (!User::where('plan_id', $plan->id) ->get() ->update(['group_id', $plan->group_id]) ) { DB::rollBack(); abort(500, '保存失败'); } } if (!$plan->update($params)) { DB::rollBack(); abort(500, '保存失败'); } DB::commit(); return response([ 'data' => true ]); } if (!Plan::create($params)) { abort(500, '创建失败'); } return response([ 'data' => true ]); } public function drop(Request $request) { if (Order::where('plan_id', $request->input('id'))->first()) { abort(500, '该订阅下存在订单无法删除'); } if (User::where('plan_id', $request->input('id'))->first()) { abort(500, '该订阅下存在用户无法删除'); } if ($request->input('id')) { $plan = Plan::find($request->input('id')); if (!$plan) { abort(500, '该订阅ID不存在'); } } return response([ 'data' => $plan->delete() ]); } public function update(PlanUpdate $request) { $updateData = $request->only([ 'show', 'renew' ]); $plan = Plan::find($request->input('id')); if (!$plan) { abort(500, '该订阅不存在'); } if (!$plan->update($updateData)) { abort(500, '保存失败'); } return response([ 'data' => true ]); } }