首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有从存储库设计模式中恢复软删除记录的功能?

是否有从存储库设计模式中恢复软删除记录的功能?
EN

Stack Overflow用户
提问于 2019-09-24 12:04:28
回答 4查看 890关注 0票数 0

我在代码中使用了存储库设计模式,现在,我希望恢复我的软删除记录。但是我没有找到任何解决这个问题的方法,使用存储库设计模式,我使用了基于laravel的apiato http://apiato.io/框架。我想恢复我在任务上的记录。

这是我的模型课

代码语言:javascript
复制
class Property extends Model
{
    use SoftDeletes;
}

这是我删除的存储库代码。

代码语言:javascript
复制
class DeletePropertyTask extends Task
{

    protected $repository;

    public function __construct(PropertyRepository $repository)
    {
        $this->repository = $repository;
    }

    public function run($id)
    {
        try {
            $result = $this->repository->delete($id);
            return $result;
        }
        catch (Exception $e) {
            throw new DeleteResourceFailedException(null, null, null, null, $e);
        }
    }
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-09-24 12:24:40

我找到了解决办法。在存储库类中,有一个方法名为makeModel(),当您调用这个方法时,每件事情都会变成雄辩的函数。之后,您可以使用withTrash方法在软删除记录之间搜索,并在调用restore()方法之后找到所需的特定记录。

代码语言:javascript
复制
$this->repository->makeModel()->withTrash()->where('id',$property_id')->first()->restore();
票数 0
EN

Stack Overflow用户

发布于 2019-09-24 16:07:30

还原任务中的软删除记录

代码语言:javascript
复制
$this->repository::withTrashed()->findorfail($id)->restore();
票数 2
EN

Stack Overflow用户

发布于 2019-09-24 12:10:14

雄辩有一种使用restore()函数恢复软删除条目的方法。以下是文档链接以获取更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58079936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档