【发布时间】:2011-08-28 10:39:12
【问题描述】:
我正在开发一个消息系统,用户可以在其中互相发送消息。但是现在我想在发送消息时检查用户名是否存在。我正在 symfony 2 上开发这个。
我去了他们的 IRC 频道,他们告诉我使用 UniqueConstraint of Doctrine,但它的作用与我想要的完全相反。我想检查用户名是否存在,如果存在,用户可以发送它。
那么有什么办法可以“扭转”这种行为吗?
【问题讨论】:
-
只需使用 UniqueConstraint。如果插入失败,请检查错误消息。如果它来自受约束的字段,则您知道该用户不存在。这比先查询用户名是否存在然后再插入 imo 要明智得多。
-
那么 uniqueConstraint 也会对您的数据库进行查询,所以这并不重要?
-
是的,当用户名存在并且可以插入消息时,它只进行一个查询而不是潜在的两个查询。
标签: php symfony doctrine-orm