alt*_*aus 2 symfony symfony-sonata sonata-admin
我想实现一些自定义删除处理.我们有一些类型的实体只在数据库中被标记为已删除.从数据库中真正删除是由计划的进程完成的.
现在很容易替换Admin类中的delete方法,但是我在批处理操作方面遇到了一些问题.创建子包以修改常规或在我眼中的CRUDController类中创建新方法是没有多大意义的.
所以我倾向于创建一个自定义的ModelManager(基于DoctrineORMAdminBundle之一)并将业务逻辑放入其中.我找不到关于这部分的任何文档.
这会是一个干净的解决方案吗?这种逻辑在很多地方传播都是一种遗憾.:/
干杯马蒂亚斯
您可以使用SoftDeleteable教义行为
安装并配置捆绑包后,请更新实体以添加软删除行为:
namespace Entity;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @Gedmo\SoftDeleteable(fieldName="deletedAt")
*/
class Article
{
# ...
public function getDeletedAt()
{
return $this->deletedAt;
}
public function setDeletedAt($deletedAt)
{
$this->deletedAt = $deletedAt;
}
}
Run Code Online (Sandbox Code Playgroud)
我已经将它与Sonata一起使用了,它运行正常
| 归档时间: |
|
| 查看次数: |
1574 次 |
| 最近记录: |