在我的控制器中:
public function destroy($id)
{
$task = Task::findOrFail($id);
if($task->forceDeleting){
$task->forceDelete();
}
else {
$task->delete();
}
return back();
}
在上述方法中,else
部分正常工作,但if
无法正常工作,并在No query results for model [App\Task]
显示URI
http://localhost/Final/public/todo/28
我在视图中使用相同的方法softDeletes
和Permanent Deletes
。
{{ Form::open(['method' => 'DELETE', 'route' => ['todo.destroy', $task->id]]) }}
{{ Form::button('<i aria-hidden="true"></i>', array('type' => 'submit', 'class' => 'fa fa fa-trash fa-3x complete-icon')) }}
{{ Form::close() }}
答案 0 :(得分:5)
似乎id = 28没有任务。但可能还有另一种选择。此任务已被删除(使用软删除),因此您可能应该更改:
$task = Task::findOrFail($id);
到
$task = Task::withTrashed()->findOrFail($id);
修改强>
如果您要删除(完全)软删除的模型,您应该使用以下代码(您应该使用trashed()
方法):
public function destroy($id)
{
$task = Task::withTrashed()->findOrFail($id);
if(!$task->trashed()){
$task->delete();
}
else {
$task->forceDelete();
}
return back();
}
答案 1 :(得分:1)
wxITEM_DROPDOWN
完成了魔法。
if($task->deleted_at == null)