我从git仓库中使用了Doctrine MongoDB ODM和Symfony2的master分支以及mongo扩展1.2.10。Doctrine MongoDB ODM nullable = false不起作用
我已经创建了一些类/文件类似于注释:
namespace Acme\StoreBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\Document
*/
class Person
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\String(nullable=false)
*/
protected $name;
/**
* @MongoDB\ReferenceOne(targetDocument="PersonType", inversedBy="person", nullable=false)
*/
protected $personType;
}
当我创建并坚持一个新的文档,而无需设置我收到任何错误的值或引用。我误解了可以使用nullable选项,并且需要在生命周期回调中调用验证代码,错误地使用注释,或者可能是Doctrine中的错误?
当然这是我的谷歌搜索的最后一个链接... [链接](https://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Persisters /PersistenceBuilder.php) 我假设可空选项与ORM中的工作方式相同,但实际上是控制空值是否存储在数据库中。看起来我必须创建一些验证逻辑来执行约束。 – CrEOF 2012-07-11 16:58:32