为什么不删除Laravel中的数据库记录?

时间:2018-12-02 08:13:54

标签: php laravel

使用Laravel 5.6,我要从上载图像表中删除表记录。 这是控制器

 public function deleteOneImage($id)
    {
        Upload::where('id', $id)->delete();
        return redirect()->back()->with('info', 'Image deleted successfully');
    }

并删除edit.blade.php中的链接

 <a class="button is-outlined" href="/myads/{{$upload->id}}/delete" onclick="return confirm('Are you sure to want to delete this record?')" >Delete</a></td>

和路线

Route::get('myads/{uploads}/delete', [
    'uses' => '\App\Http\Controllers\VehicleController@deleteOneImage',
]);

但是当我单击删除按钮时,它不会删除表记录吗?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

也许这可行:

<a class="button is-outlined" href="{{url('myads/'. $upload->id .'/delete')}}" onclick="return confirm('Are you sure to want to delete this record?')" >Delete</a>

答案 1 :(得分:0)

尝试一下,希望对您有所帮助。

在刀片中:

<a onclick="event.preventDefault();document.getElementById('{{md5($upload->id."delete")}}').submit();">Delete</a>

<form id="{{md5($upload->id.'delete')}}" action="{{ route('myads.destroy',$upload->id) }}" method="POST">
  {{ csrf_field() }}
  <input type="hidden" name="_method" value="DELETE">
</form>

并像这样更改您的路线:

Route::delete('myads/{uploads}','VehicleController@deleteOneImage',)->name('myads.destroy');

并将其写在控制器中:

public function deleteOneImage($id)
    {
        Upload::findOrFail($id)->delete();
        return redirect()->back()->with('info', 'Image deleted successfully');
    }

希望对您有帮助