0

フォーム フィールドの宣言: $builder->add('birthday', 'date', array('label' => 'Data urodzenia:', 'years' => range(date('Y'), date('Y')-100)), 'required' => false); 対応するドキュメント フィールドの宣言:

/**
 * @ODM\Field(type="date")
 */
protected $birthday;
/**
 * Set bitrhday
 *
 * @param \DateTime $birthday
 */
public function setBirthday(\DateTime $birthday)
{
    $this->birthday = $birthday;
}

/**
 * Get bitrhday
 *
 * @return \DateTime $birthday
 */
public function getBirthday()
{
    return $this->birthday;
}

フォームにデータを設定すると、値はデータベースに正しく保存されますが、保存後にフォーム ページにアクセスすると、ウィジェットにデータ フォーム データベース フィールドが入力されません。

フォームの他のフィールドは期待どおりに機能します。

それはsf2のバグですか、それとも私の間違いですか?

4

1 に答える 1

0

まず、誕生日のつづりが間違っているようです。Setbitrhday&Getbitrhday

次に、ODM は DateTime フィールド タイプをサポートしていません。ODM はフィールド タイプ Date のみをサポートします。ODM フィールド タイプ リファレンスを参照してください。

一方、ORM は DateTime フィールド型をサポートしています。ORM フィールド タイプ リファレンスを参照してください

于 2012-08-19T16:40:56.813 に答える