2009-05-29 4 views
3

はのは、私はYAMLスキームはそのように見ているとしましょう:Symfony 1.2でDoctrineを使って保存した「バリデータが失敗しました」が表示されるのはなぜですか?

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としてORDER_ID (20)。私はUbuntuの9.10は、symfony 1.2、PHP 5とMySQL 5

EDIT使用しています

がヒントを得たが、私はYAMLファイルにサイズのすべての言及を削除した場合、私は2番目を取得しますorder_id(長さ)のバリデーターエラー:-)

+0

私は同じ問題を抱えていますが、1.4ではそうです。私は "文字列"をスキーマの "float"に変更しました...まだsave()にはこのエラーがあります。 – Manu

答えて

2

私はそれを得ました。 "int"を "integer"に置き換え、サイズを取り除くことはやりました。今、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」を置き換える解決しました。

誰かがそれに立ち往生し、この回答を読んで取得する場合、私はこれは古いです知っている

0

:-)自分の名前でビールを持っている...

私はちょうど私がその有効な教義の種類を明らかにするかもしれないと思いました「整数」、「文字列」、「浮動小数点」、「小数」、「オブジェクト」、「クロップ」、「ブロブ」、「列挙」、「配列」である。

Doctrineは、doctrineタイプを、選択したバックエンドの正しいデータベースタイプに変換します。

「int」は型バリデーターに失敗しましたが、「整数」は機能します。

関連する問題