Skip to content

Commit 959cc6c

Browse files
committed
fix(control): 提交的数据处理过滤字段
1 parent 70e3291 commit 959cc6c

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

laravel/app/Http/Controllers/Api/RoleController.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public function store(Store $request)
6464

6565
if ($role->save()) {
6666

67-
$permissions = $request['permissions'];
67+
$permissions = $request['checkedPermissions'];
6868
// 遍历选择的权限
6969
foreach ($permissions as $permission) {
7070
$p = Permission::where('id', '=', $permission)->firstOrFail();
@@ -89,7 +89,8 @@ public function store(Store $request)
8989
*/
9090
public function show(Role $role)
9191
{
92-
return $this->out(200, $role);
92+
$permissions = Permission::all();
93+
return $this->out(200, ['permissions' => $permissions, 'checkedPermissions' => array_column($role->permissions->toArray(), 'id'), 'role' => $role]);
9394
}
9495

9596
/**
@@ -103,7 +104,7 @@ public function edit($id)
103104
$role = Role::findOrFail($id);
104105
$permissions = Permission::all();
105106

106-
return $this->out(200, [$role, $permissions]);
107+
return $this->out(200, ['permissions' => $permissions, 'role' => $role]);
107108
}
108109

109110
/**
@@ -114,17 +115,18 @@ public function edit($id)
114115
* @param int $id
115116
* @return \Illuminate\Http\Response
116117
*/
117-
public function update(Update $request, $id)
118+
public function update(Update $request)
118119
{
120+
$id = 3;
119121
$role = Role::findOrFail($id); // 通过给定id获取角色
120122
// 验证 name 和 permission 字段
121123
$this->validate($request, [
122124
'name' => 'required|max:10|unique:roles,name,'.$id,
123125
'permissions' => 'required',
124126
]);
125127

126-
$input = $request->except(['permissions']);
127-
$permissions = $request['permissions'];
128+
$input = $request->only(['name']);
129+
$permissions = $request['checkedPermissions'];
128130
if ($role->fill($input)->save()) {
129131

130132
$p_all = Permission::all();//获取所有权限

laravel/app/Http/Requests/Role/Update.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Http\Requests\Role;
44

55
use Illuminate\Foundation\Http\FormRequest;
6+
use Illuminate\Http\Request;
67

78
class Update extends FormRequest
89
{
@@ -21,10 +22,10 @@ public function authorize()
2122
*
2223
* @return array
2324
*/
24-
public function rules()
25+
public function rules(Request $request)
2526
{
2627
return [
27-
'name'=>'required|string|max:100',
28+
'name' => 'required|string|max:100,'.$request->get('id'),
2829
'permissions' => 'required',
2930
];
3031
}

0 commit comments

Comments
 (0)