2011-10-26 11 views
6

私は、MySQLの固定長のCHARカラムにマップするDoctrine 2.1(注釈を使用)のカラムを定義しようとしています。 fixed = trueを使用してもジョブは実行されません。注釈Doctrine 2.1の "options"の構文は何ですか?@列アノテーション?

* @ORM\Column(type="string", length=49, fixed=true, nullable=false) 

それはエラーが発生: 『固定「プロパティに宣言し、注釈@ORMの\列[ここに名前が]という名前のプロパティを持っていない』利用可能なプロパティ:名前、種類、長さ、精度、 scale、unique、nullable、options、columnDefinition "を参照してください。だから私は "固定"ビットが "オプション"で渡される必要があると仮定しています。しかしどうですか?私はDoctrine 2.1のドキュメントを精査しましたが、これについて何も見つかりませんでした。

私はエラーにはなりませんが、無視され

* @ORM\Column(type="string", length=49, options="fixed=true", nullable=false) 

を試してみました - 作成した列はVARCHAR(49)です。

columnDefinitionを使用しないことをお勧めします。

提案がありますか?

THANKS

答えて

7

正しい構文はこれです:これは見つけるためにそのような秘密情報である理由

@ORM\Column(type="string", length=49, options={"fixed":true}, nullable=false) 
+3

誰かが私に言います。質問は2歳...正確に私が情報を必要としたとき、神はこれを私に分かち合うためにわずか16時間前にパトリックをここに送りました!ありがとうございました! –

0

あなたの注釈に固定されたデータ型を追加すると、教義でユーザー定義関数が必要になります。これらを設定する方法については、documentationを参照してください。

Benjamin EeberleiのDoctrineExtensionsリポジトリにMySQLクエリ関数のライブラリがあり、MySQL固有の機能に対応するためにDoctrineのネイティブ機能を拡張するのに役立つかもしれません。

あなたが探しているデータ型は含まれませんが、必要なものを設定するためのモデルとして役立ちます。幸運とあなたのために働くソリューションを見つける場合は投稿してください。

関連する問題