pages = [ 'name' => '管理员' ]; } public function indexData(){ return $this->shareData(); } public function shareData($show='') { $permissions = Role::where('guard_name',$this->guard_name)->get(); return ['role'=>$permissions]; } public function checkRule( $id='') { if (!$id) { return [ 'account' => 'required|unique:admins,account', 'password' =>'required', 'mobile' =>'required', 'realname' =>'required', ]; } return [ 'account' => 'required|unique:admins,account,' . $id, 'mobile' =>'required', 'realname' =>'required' ]; } public function setErrorMsg(){ $messages = [ 'name.required' => ':attribute必填', 'permissions.required' => '权限规则必填', ]; return $messages; } public function setModel() { return new Admin(); } public function saveAfter($request,$model,$id='') { $roles = $request->input('roles'); if($id) { // 检查是否某个角色被选中 if (isset($roles)) { $model->roles()->sync($roles); //$admin->syncRoles($roles); }else { $model->roles()->detach(); // 如果没有选择任何与用户关联的角色则将之前关联角色解除 } }else { if (!empty($roles)) { // 如果选择了角色 // 检查是否某个角色被选中 $role_r = Role::whereIn('id', $roles)->pluck('id'); $model->assignRole($role_r); //Assigning role to user } } } protected function postDataDb($request,$id=''){ $data=$request->all(); if(!$request->input('password')) { unset($data['password']); } return $data; } public function apiJson(Request $request) { $offset = $request->input('page', 1); $pagesize = $request->input('limit', 1); $offset = ($offset - 1) * $pagesize; $mobile = $request->input('mobile', ''); $account = $request->input('account', ''); $order_id = $request->input('sort', 'id'); $order_type = $request->input('order', 'desc'); $debug = $request->input('debug', 0); $model = $this->setModel(); $role=$request->input('role',''); $search_arr=[ 'mobile'=>[ 'type'=>'like', 'value'=>$mobile ], 'account'=>[ 'type'=>'like', 'value'=>$account ] ]; $model=$this->searchKey($model,$search_arr); if($role) { $model=$model->whereHas('roles', function ($query) use($role) { $query->where('id', $role); }); } $total = $model->count(); $result = $model->skip($offset)->orderBy($order_id, $order_type)->orderBy('id', 'desc')->take($pagesize)->get();; $narr = array(); foreach ($result as $k => $v) { $v['edit_url']=action($this->route['controller_name'] . '@edit', ['id' => $v->id]); $v['edit_post_url']=action($this->route['controller_name'] . '@update', ['id' => $v->id]); $v['roles_name']=$v->roles()->pluck('name'); $narr[] = $v; } $json = [ "status"=>1, 'code'=>$total>0?0:1, 'msg'=>$total>0?'请求数据成功':'暂无数据', 'count' => $total, 'data' => $narr ]; if ($debug) { return $this->jsonDebug($json); } return response()->json($json); } }