は、私は私のパネルの管理者に役割を変え作るしようとしています。しかし、私はそれを私のフォームは投稿要求を送信しないようにした。現在、ユーザーの役割を示す作業のみ。私はそれを修正することはできませんので、私は何かエラーを取得していないと切り替えるボタンをクリックすると、役割は変更されません。Laravel 5.4の変更ユーザロール
私は、URL /管理/その、このエラーを示す変更使用するとき、私はHttpRequesterを使用します。RouteCollection.phpライン233
で MethodNotAllowedHttpExceptionは私のコードがあります:
ビュー:
@extends('layouts.app')
@section('content')
<h2>Panel Admina</h2>
<div class="panel-group">
\t <div class="panel panel-default">
\t <div class="panel-body">
\t \t <table class="table">
\t <thead>
\t <tr>
\t <th>Id</th>
<th>Imię</th>
<th>Nazwisko </th>
<th>E-mail </th>
<th>Nr.tele </th>
<th>Użytkownik </th>
<th>Moderator </th>
<th>Admin </th>
</tr> \t
</thead>
<tbody>
@foreach($users as $user)
<tr>
<form action="{{route('change')}}" method="post">
{{ csrf_field() }}
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->lastname }}</td>
<td>{{ $user->email }}<input type="hidden" name="email" value="{{ $user->email }}"></td>
<td>{{ $user->phonenumber }}</td>
<td><input type="checkbox" {{ $user->hasRole('User') ? 'checked' : '' }} name="role_user"/></td>
<td><input type="checkbox" {{ $user->hasRole('Moderator') ? 'checked' : '' }} name="role_moderator"/></td>
<td><input type="checkbox" {{ $user->hasRole('Admin') ? 'checked' : '' }} name="role_admin"/></td>
<td><input type="submit" class="btn btn-default btn-sm" value="Przydziel rolę"></td>
</form>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endsection
コントローラ:
public function change(Request $request)
{
$user = User::where('email', $request['email'])->first();
$user->roles()->detach();
if ($request['role_user']) {
$user->roles()->attach(Role::where('name', 'User')->first());
}
if ($request['role_moderator']) {
$user->roles()->attach(Role::where('name', 'Moderator')->first());
}
if ($request['role_admin']) {
$user->roles()->attach(Role::where('name', 'Admin')->first());
}
return redirect()->back();
}
ルーティング:
Route::get('/admin', [
'uses' => '[email protected]',
'middleware' => 'roles',
'roles' => ['Admin']
]);
Route::post('/admin/change', [
'uses' => '[email protected]',
'as' => 'change',
'middleware' => 'roles',
'roles' => ['Admin']
]);
は、私は本当に私は私の問題を解決する方法を知りません。
あなたのルートにある 'ミドルウェア'と 'ルール'が問題を引き起こすかどうかを調べてみてください –
私はそうします/そして私はuniqe – Mariusz
のthatsれます/ szpital /木/ paneladmina多分thatsのが、このプロジェクト – dparoli