【发布时间】:2014-12-15 05:23:31
【问题描述】:
我在使用 MongoDB 在 Zf2 和 Doctrine2 中实现一些在 Symfony2 和 Doctrine2 中相当简单的东西时遇到了麻烦。
我有一个发票文档,我想确保 Invoice::pattern 和 Invoice::number 的组合是唯一的。一个数字可以出现多次,与模式相同,但模式和发票号码的组合应该是唯一的。
在 Symfony2 我会使用桥接器
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
@UniqueEntity({"pattern", "number"})
class Invoice
{
...
但由于显而易见的原因,这在 Zf2 中不起作用。
我当前在 Zend Framework 2 中的注释设置是
/**
* Class Invoice
* @package Common\Document\Billing
*
* @ODM\Document(
* collection="invoice"
* )
* @ODM\UniqueIndex(keys={"prefix"="asc", "number"="asc"})
* @ODM\ChangeTrackingPolicy("DEFERRED_IMPLICIT")
*/
class Invoice
{
...
但这确实允许以相同的模式和编号保存发票。
【问题讨论】:
标签: mongodb doctrine-orm zend-framework2 doctrine-odm