Eloquent 删除在 laravel 5.6 中不起作用

Eloquent delete not working in laravel 5.6

这是我的代码:

路线

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

控制器

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

查看

<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>

问题是代码无法删除 table 中的项目,有帮助吗?谢谢

在你的控制器中试试这个

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

或者你可以试试

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

像这样更改您的视图代码

<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>

或者您也可以像这样设置操作 action="url('/ItemName/'. $ItemName->id)"