繁体   English   中英

雄辩的删除在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>

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

在您的控制器中尝试

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

试试这个,所以我的刀片是

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

然后控制器是

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.');
    }
}

我的路线是

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

如果您想要软删除,请使用软删除,否则无需使用

暂无
暂无

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

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