在 Laravel 5.6 应用程序中,我有以下 Controller 函数来删除车辆表记录,
public function deleteOneAd($id)
{
DB::table('vehicles')
->where('id', $id)
->delete();
return redirect()->back();
我的删除按钮链接是,
href="/myads/{{$vehicule->id}}/delete" onclick="return confirm('Are you sure to want to delete this record?')" >Delete</a></td>
和删除路由,
Route::get('myads/{id}/delete', [
'uses' => '\App\Http\Controllers\VehicleController@deleteOneAd',
]);
但是当我单击删除按钮并符合 javascript 消息来删除记录时,它不起作用。我的意思是它没有删除。
myads Blade 文件 请查看 myads Blade View
@forelse( $vehicles as $vehicule )
@if( $vehicule->uploads->count() > 0 )
<a href="{{ route('vehicles.show', $vehicule->id) }}">
@php
$upload = $vehicule->uploads->sortByDesc('id')->first();
@endphp
<img src="/images/{{ $upload->resized_name }}"></a>
{{$vehicule->provincename}}
{{$vehicule->milage}}
<br>
<td><a class="button is-outlined" href="{{route('vehicles.edit',$vehicule->id.'/edit/')}}" >Edit</a></td>
<td><a class="button is-outlined" href="/myads/{{$vehicule->id}}/delete" onclick="return confirm('Are you sure to want to delete this record?')" >Delete</a></td>
</a>
<hr>
@endif
@empty
<td>No Advertisment to display.</td>
@endforelse
最佳答案
Route::get('myads/{id}/delete', [
'uses' => '\App\Http\Controllers\VehicleController@deleteOneAd',
]);
您应该添加/
之前myads/{id}/delete
只需添加 /
在任何 url 的开头,它都会变成绝对 url,并且可以从任何地方访问绝对位置,例如,如果您位于 localhost:8000/home 页面,并且单击了 myads/{id}/delete
的链接链接后它将重定向到 localhost:8000/home/myads/{id}/delete
这将与您在 route 提到的路线产生冲突并产生不需要的结果。
关于php - 为什么 Laravel 5.6 中没有删除数据表记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53246866/