public function search(Request $request) { $clubs = Club::select('name')->where('name', 'LIKE', '%' . $request->input('q') . '%')->get(); return $clubs; }
public function update(Request $request, $id) { $this->validate($request, ['name' => 'required|max:255', 'alias' => 'max:255']); $sc = Sc::find($id); $sc->name = $request->input('name'); $sc->alias = $request->input('alias'); if ($club = Club::select('id')->where('name', $request->input('club'))->first()) { $sc->club_id = $club->id; } else { $sc->club_id = 0; } $sc->jobs = $request->input('jobs'); $sc->information = $request->input('information'); if ($sc->save()) { $user_id = $request->user()->id; $version = Scver::where('sc_id', $id)->where('user_id', $user_id)->first(); if (!$version) { $version = new Scver(); $version->sc_id = $id; $version->user_id = $user_id; $version->first = 0; } $version->name = $sc->name; $version->alias = $sc->alias; $version->club_id = $sc->club_id; $version->jobs = $sc->jobs; $version->information = $sc->information; $version->save(); //获取sc当前job数组 $jobs = DB::table('sc_job')->select('job_id')->where('sc_id', $id)->get(); $job_old = []; foreach ($jobs as $row) { $job_old[$row->job_id] = 1; } //获取输入job数组 $job_input = []; if ($request->has('job')) { foreach ($request->input('job') as $job) { $job_input[$job] = 1; } } //对比两个数组判断需要添加和删除的职位 $adds = []; $removes = []; for ($i = 0; $i <= 11; $i++) { if (isset($job_input[$i]) && !isset($job_old[$i])) { $adds[] = ['sc_id' => $id, 'job_id' => $i]; //若输入有,原来没有,则添加职位 } else { if (isset($job_old[$i]) && !isset($job_input[$i])) { $removes[] = $i; //若原来有,输入没有,则删除职位 } } } DB::table('sc_job')->insert($adds); DB::table('sc_job')->where('sc_id', $id)->whereIn('job_id', $removes)->delete(); return redirect()->route('sc.show', [$sc]); } else { return redirect()->back()->withInput()->withErrors('修改失败'); } }