为什么不删除Laravel 5.6中的数据表记录



在Laravel 5.6应用程序中,我有以下控制器功能来删除车辆表记录,

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' => 'AppHttpControllersVehicleController@deleteOneAd',
]);

但当我点击删除按钮并遵循javascript消息删除记录时,它不起作用。我的意思是它不是删除。

myads刀片文件请参阅myads刀刃视图

@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' => 'AppHttpControllersVehicleController@deleteOneAd',
]);

应该在myads/{id}/delete之前添加/只需在任何url的开头添加/,它就变成了绝对url,可以从任何地方访问到绝对位置——例如,如果您位于localhost:8000/主页,并且单击了链接myads/{id}/delete的链接,它将重定向到localhost:8000/home/myads/{id}/delete,这将与您在路由中提到的路由产生冲突,并产生不想要的结果。

最新更新