なぜ私はsymfony 1.2にドクトリンで保存「バリデータが失敗しました」1つを得るのですか?
質問
のは、私はそのように見ているYAMLスキーマを持っているとしましょう。
Note:
options:
type: MyISAM
collate: utf8_unicode_ci
charset: utf8
actAs: { Timestampable: ~ }
columns:
content: { type: string, notnull: true}
order_id: int(5)
user_id : int
relations:
User:
foreignAlias: Notes
local: user_id
foreign: id
type: one
foreignType: man
onDelete: CASCADE
実行する場合:
$note->setOrderId(0);
$note->save();
私は、次のエラーを取得しています:
1 validator failed on order_id (type)
のMySQLストアはBIGINT(20)とORDER_ID。
私はUbuntuの9.10は、symfony 1.2、PHP 5とMySQL 5を使用しています。
EDITます:
私はYAMLファイルでのサイズのすべての言及を削除した場合、私はORDER_ID(な長さ)のための第二のバリデータのエラーを取得し、ヒントを得た: - )
解決
私はそれを得ました。 「整数」で「INT」の交換とサイズを取り払うトリックをしました。今、YAMLファイルは次のようになります:
Note:
options:
type: MyISAM
collate: utf8_unicode_ci
charset: utf8
actAs: { Timestampable: ~ }
columns:
content: { type: string, notnull: true}
order_id: integer
user_id : integer
relations:
User:
foreignAlias: Notes
local: user_id
foreign: id
type: one
foreignType: man
onDelete: CASCADE
私は。
ネット上の他の人が同様のエラーがあったので、「文字列」と「VARCHAR」を置き換える解決することを試みました 誰かがそれに立ち往生し、この回答を読んで取得する場合は、、自分の名前でビールを持っている: - )
他のヒント
私は、これは古いです知っている...
私はちょうど私が、「文字列」、「フロート」、「小数」、「オブジェクト」、「CLOB」、「ブロブ」、「列挙型」、「配列」型は「整数」であること、有効な教義を明確にするかもしれないと思いました。
教義は、次に選択されたバックエンドのための正しいデータベースタイプに教義の種類を変換します。
"intは" 型バリデータを失敗したが、 "整数" は働く理由厥ます。
所属していません StackOverflow