我在代码中使用了存储库设计模式,现在,我希望恢复我的软删除记录。但是我没有找到任何解决这个问题的方法,使用存储库设计模式,我使用了基于laravel的apiato http://apiato.io/框架。我想恢复我在任务上的记录。
这是我的模型课
class Property extends Model
{
use SoftDeletes;
}这是我删除的存储库代码。
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);
}
}
}发布于 2019-09-24 12:24:40
我找到了解决办法。在存储库类中,有一个方法名为makeModel(),当您调用这个方法时,每件事情都会变成雄辩的函数。之后,您可以使用withTrash方法在软删除记录之间搜索,并在调用restore()方法之后找到所需的特定记录。
$this->repository->makeModel()->withTrash()->where('id',$property_id')->first()->restore();发布于 2019-09-24 16:07:30
还原任务中的软删除记录
$this->repository::withTrashed()->findorfail($id)->restore();发布于 2019-09-24 12:10:14
雄辩有一种使用restore()函数恢复软删除条目的方法。以下是文档链接以获取更多信息。
https://stackoverflow.com/questions/58079936
复制相似问题