简体   繁体   English

雄辩的删除在Laravel 5.6中不起作用

[英]Eloquent delete not working in laravel 5.6

This is my code : 这是我的代码:

Route 路线

Route::resource('ItemName', 'ItemNameController');

Controller 控制者

public function destroy(ItemName $itemName)
{
    $itemName->delete();
    return redirect('ItemName')->with('success', 'Item Has Been Delete');
}

View 视图

<form action="{{ route('ItemName', $ItemName->id) }}" method="post">
    @csrf
    @method("DELETE")
    <input type="submit" class="btn btn-danger btn-sm" href="{{ $ItemName- 
    >id }}" value="Delete" onclick="return confirm('Are You Sure To Delete 
    This Item? #{{ $ItemName->inc }} ')">
</form>

The problem is that code doesn't work to delete the item in table, any help? 问题是代码无法删除表中的项目,有帮助吗? Thanks 谢谢

Try this in your controller 在您的控制器中尝试

public function destroy($id)
{
    ItemName::destroy($id); 
    return redirect('ItemName')->with('success', 'Item Has Been Delete');
}

or you could try 或者你可以尝试

public function destroy($id)
{
    $itemName = ItemName::find($id);
    $itemName ->delete(); 
    return redirect('ItemName')->with('success', 'Item Has Been Delete');
}

Change your view code like this 像这样更改您的视图代码

<form action="{{ route('ItemName', $ItemName->id) }}" method="post" onSubmit="return confirm('Are You Sure To Delete 
    This Item? #{{ $ItemName->inc }} ')">
    @csrf
    @method("DELETE")
    <button class="btn btn-danger btn-sm">Delete</button>
</form>

Or also you can set action like this action="url('/ItemName/'. $ItemName->id)" 或者,您也可以设置类似action="url('/ItemName/'. $ItemName->id)"

try this so in my blade is 试试这个,所以我的刀片是

   <a href="{{url('path.'/'.$row->id.'/soft-delete')}}" class="btn btn-sm btn-danger"> <i class="fa fa-trash-o"></i> </a>

and then controller is 然后控制器是

public function soft_delete($id)
{
    if($this->data->find($id)->delete()) {
        return redirect()->back()->with('success', 'Your data has been moved to trash');
    }else {
        return redirect()->back()->with('error', 'Your data has not been moved to trash.');
    }
}

and my routes is 我的路线是

Route::get('path/{id}/soft-delete', 'EventController@soft_delete');

if you want softdelete use softdeletes else no need to use that 如果您想要软删除,请使用软删除,否则无需使用

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM