如何使值在列中存在一次,并允许在教义实体中重复其他值



我正在做一个使用doctrine作为ORM的symfony 2.8项目。

我有一个名为 Debt 的实体,带有字段Paid(布尔值(。

我的问题是我希望"Paid"字段仅设置为false一次,但设置为多次true

我知道Unique约束和UniqueEntity验证器,但这些方法只为唯一条目设计(例如,真一次,假一次(。

用例是:当一个客户的债务的字段Paidfalse时,该客户不能有另一个字段Paid设置为false的债务。

我知道教义生命周期预持久,预更新...但这些都不能解决我的问题。

我希望false值在列中完全存在一次,任何插入第二个假值的尝试都将失败。

任何帮助将不胜感激。

恐怕实体约束只能验证该记录的约束或"全局"约束(即"仅一次"(。您的约束要求读取债务表并找出许多记录和特定值。因此,我认为最简单的方法是在提交表格时检查您的条件。但是,您也可以在显示表单之前检查这些条件,并禁用您已经知道如果选择会引发错误的小部件。

相关内容

最新更新