以下软删除代码适用于我:
$post = Post::find($post_id);
$post->delete();
deleted_at字段已更新。但这给了我一个错误:
$post = Post::find($post_id);
$post->restore();
这是错误:
exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to a member function restore() on a non-object'
我很难过。到目前为止谷歌没有帮助。
答案 0 :(得分:40)
错误说$post
是非对象,Laravel不返回没有withTrashed()
Post::withTrashed()->find($post_id)->restore();
查询使用软删除的模型时,不会包含“已删除”模型...
答案 1 :(得分:0)
另一种选择是在垃圾模型中搜索特定 ID:
Post::onlyTrashed()->where('id', $post_id)->restore();