Я видел эту проблему пару раз, но не в этой точной форме.
Вот мой: edit.blade.php
<form action="{{ route('admin.korisnici.update', ['korisnik' => $korisnik->id]) }}" method="POST">
{{csrf_field()}}
{{method_field('PUT')}}
@foreach($uloge as $uloga)
<div class="form-check">
<input type="checkbox" name="uloge[]" value="{{ $uloga->id }}"
{{ $korisnik->hasRole($uloga->naziv_tipa)?'checked':'' }}>
<label>{{ $uloga->naziv_tipa }}</label>
</div>
@endforeach
<button type="submit" class="btn btn-primary btn-sm">Ažuriraj</button>
</form>
Мой контроллер: KorisniciController.php
public function update(Request $request, $id)
{
if (Auth::user()->id == $id) {
return redirect()->route('admin.korisnici.index');
}
$korisnik = User::find($id);
$korisnik->roles()->sync($request->uloge);
return redirect()->route('admin.korisnici.index');
}
И мой web.app
Route::namespace('Admin')->prefix('admin')->middleware(['auth', 'roles.admin'])->name('admin.')->group(function(){
Route::resource('/korisnici', 'KorisniciController')->except(['show', 'create', 'store']);
});
php artisan route: список возвращается
+--------+-----------+----------------------------------+-------------------------+------------------------------------------------------------------------+--------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+-----------+----------------------------------+-------------------------+------------------------------------------------------------------------+--------------------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | admin | | Closure | web,auth,roles.admin |
| | GET|HEAD | admin/korisnici | admin.korisnici.index | App\Http\Controllers\Admin\KorisniciController@index | web,auth,roles.admin |
| | DELETE | admin/korisnici/{korisnici} | admin.korisnici.destroy | App\Http\Controllers\Admin\KorisniciController@destroy | web,auth,roles.admin |
| | PUT|PATCH | admin/korisnici/{korisnici} | admin.korisnici.update | App\Http\Controllers\Admin\KorisniciController@update | web,auth,roles.admin |
| | GET|HEAD | admin/korisnici/{korisnici}/edit | admin.korisnici.edit | App\Http\Controllers\Admin\KorisniciController@edit | web,auth,roles.admin |