Doctrine MongoDB ODM の master ブランチと git リポジトリの Symfony2 を mongo 拡張機能 1.2.10 と共に使用しています。
次のような注釈を付けて、いくつかのクラス/ドキュメントを作成しました。
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 のバグでしょうか?