маршрут не работает, где я должен поставить @csrf
и @method('DELETE')
? потому что это не удаляет пользователя. до возникновения проблемы @csrf
и @method('DELETE')
были в режиме лезвия. Но когда я ставлю @csrf
и @method('DELETE')
взамен, это показывает ошибку.
$employees = DB::table('users')->leftjoin('roles', 'users.role_id', '=', 'roles.id')->leftjoin('supervisors', 'users.manager_id', '=', 'supervisors.id')
->select(['users.id','users.name','users.department','users.email','users.leaves_available','roles.name_role','supervisors.name_supervisor']);
return Datatables::of($employees)
->addColumn('action', function ($employees) {
return '<form action="'.route('employee.destroy', $employees->id).'" method="post">
<button type:"submit" class="btn btn-sm btn-danger">Delete</button>
</form>
</div>
</div>
</div>
</div>';
})->make(true);
в форме, которую я использую route ('employee.destroy', $ employee-> id), тогда параметр будет http://localhost:8000/employee/1, и я хочу, чтобы пользователь получил удаление.
EmployeeController.php
public function destroy($id)
{
DB::table('users')->delete($id);
return redirect()->route('home')
->with('success','Employee have been deleted');
}
Это мой web.php
Route::get('employee/{id}', 'EmployeeController@destroy');
Я ожидаю, что функция уничтожения запустится и перенаправит обратно домой. Но я получаю:
Метод POST не поддерживается для этого маршрута. Поддерживаемые методы:
ПОЛУЧИТЬ, ГОЛОВИТЬ, ПОСТАВИТЬ, ПАТЧИТЬ, УДАЛИТЬ.