【发布时间】:2015-04-02 09:41:49
【问题描述】:
在持久化表单之前检查记录是否存在的最佳方法是什么?
- 使用 Pre Perist 吗?但是我可以使用查询吗
- 在控制器中使用查询,如果存在则抛出异常
- 使用我班级的存储库
我把这个https://stackoverflow.com/a/10688065/3942705 加红用于在 php/mysql 中查询,但我想用 symfony 来做。
【问题讨论】:
-
这取决于你检查的目的是什么。如果您有唯一的列,则可以应用验证等。
-
假设我在 DB 中有一个图像位置字段 (1,2,3,4,...),对应于产品图像的位置。我不能使用独特的,因为我可以为不同的产品设置两个位置 1。所以我想检查产品“n”是否为新图像提供的位置不同。如果不超过,我会给出一条错误消息。我希望我的解释更准确。
-
所以一个
Product可以有多个Image实体?并且您想确保产品内的图片位置只拍摄一次? -
确实,一个产品可以有许多图像。此产品的图像位置必须不同/唯一。因此,如果我在 DB 中已经有一个位置为 2 的图像并且我添加了一个新图像,那么这个位置必须与 2 不同。谢谢您的建议。
标签: php validation doctrine-orm dql symfony-2.6