我有两个实体:文档和 DocumentValidation
文件:
class Document
{
...
/**
* @ORM\OneToMany(
* targetEntity="AppBundle\Entity\DocumentValidation",
* mappedBy="document",
* cascade={"persist"}
* )
*/
private $validations;
DocumentValidation:
class DocumentValidation
{
/**
* @var \DateTime
*
* @ORM\Column(type="datetime", nullable=true)
* @Assert\DateTime
*/
private $validatedAt;
/**
* @var \DateTime
*
* @ORM\Column(type="datetime", nullable=true)
* @Assert\DateTime
*/
private $deletedAt;
每个文档都可以多次验证和删除。但是文档只能进行一次验证:验证,删除,验证,删除,验证,删除,验证......
在Twig中,我列出了所有文档。我想检查每个文档是否可以删除。 如果文档正在进行验证,则无法将其删除并隐藏删除图标。
最好的方法是什么?
请记住,这种情况非常简单。在我的情况下,我有很多理由(> 10)拒绝删除或修改,几乎总是因为数据库中的关系
答案 0 :(得分:0)
如果您想避免许多查询或许多控件可能是最好的解决方案,那就是在canBeDeletable
实体中添加新字段Document
,并为每个操作处理此字段的值对它的影响。
您可以找到一种正确的方法(通过示例使用自定义事件)。
最后,只有一个选民可以创建没有很多查询或控件,只有一个会检查这个字段的值。