예제 #1
0
 public function search(Request $request)
 {
     $clubs = Club::select('name')->where('name', 'LIKE', '%' . $request->input('q') . '%')->get();
     return $clubs;
 }
예제 #2
0
 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('修改失败');
     }
 }