我正在嘗試做一個按鈕來從我的資料庫中洗掉一個資料。我正在做一個表格
public function datatable()
{
$data = User::all();
return Datatables::of($data)
->addColumn('action', function($user){
$btn = '<div >
<a href='.route('options.users.show', $user->id).' >
<i ></i>
</a>';
$btn .= '<form action="{{ route(\'options.users\','.$user->id.') }}" method="POST">
'.csrf_field().''.method_field("DELETE").'
<button type="submit"
onclick="return confirm(\'Are You Sure Want to Delete?\')"><i ></i></a>
</form>
</div>';
return $btn;
})
->rawColumns(['action'])
->make(true);
}
但是當單擊我的按鈕回傳 404 錯誤和我的 URL 時,它是這個......
options/%7B%7B%20route('options.users',1)%20%7D%7D
我不知道我做錯了
/** 更新 */
Route::group(['prefix'=>'options','as'=>'options.'], function(){
Route::get('/opciones', 'OpcionesSistema@index')->name('index');
Route::post('/cambiarFotoPerfil', 'OpcionesSistema@changeImages')->name('cambiarFotoPerfil');
Route::post('/cambiarDatosLogin', 'OpcionesSistema@changeLoginData')->name('cambiarDatosLogin');
Route::post('/cambiarNombreSistema', 'OpcionesSistema@changeNameSystem')->name('changeNameSystem');
Route::resource('roles', 'RolesPermisos');
Route::get('users/datatable', 'UserController@datatable')->name('datatable');
Route::resource('users', 'UserController');
});
/** 更新 2 */
控制器:
/**
* FUNCTION TO RETURN DATATABLE
*/
public function datatable()
{
$data = User::all();
return Datatables::of($data)
->addColumn('action', function($user){
return view('layouts.datatableActions', ['user' => $user]);
})
->rawColumns(['action'])
->make(true);
}
布局/視圖
@props('user')
<div class="row">
<a href='{{ route('options.users.show', $user) }}' >
<i ></i>
</a>
<form action="{{ route('options.users', $user) }}" method="POST">
@method('DELETE')
@csrf
<input type="submit" />
</form>
</div>
我的新錯誤是:訊息:\n\n未定義變數 $attributes(查看:C:\xampp\htdocs\clinica\resources\views\layouts\datatableActions.blade.php)“
uj5u.com熱心網友回復:
嘗試這個:
您的view.blade.php
@props(['user'])
<form action="{{ route('options.users', $user) }}" method="POST">
@method('DELETE')
@csrf
<input type="submit" />
</form>
你的控制器:
public function datatable()
{
$data = User::all();
return Datatables::of($data)
->addColumn('action', function($user){
return view('view', ['user' => $user]);
});
在你的web.php:
Route::delete('users', 'UserController');
uj5u.com熱心網友回復:
您在 PHP 塊中,這意味著 Blade 語法將不起作用。只需洗掉它,然后像其他 PHP 函式一樣連接路由,就像它之前的行一樣。
$btn .= '<form action="'.route('options.users',$user->id).'" method="POST">
'.csrf_field().''.method_field("DELETE").'
<button type="submit"
onclick="return confirm(\'Are You Sure Want to Delete?\')"><i ></i></a>
</form>
</div>';
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/482977.html
上一篇:如何使用單選按鈕更改此變數?
