みんな
Symfony2 で空の日付とフォームに問題があります。
空の日付でエンティティを作成すると、正常に動作し、NULL 値がデータベースに挿入されます。しかし、編集したいときは、今日のようにレンダリングされ、empy_values をレンダリングする方法が見つかりませんでした
予想通り、「日付」は「選択肢」ではないため、「preferred_choices」は機能しません。
新しい \DateTime() がどこかで呼び出されているようです。
index および show アクションは問題ありません。
[index/show.html.twig]
{% if entity.dueDate %}
{{ entity.dueDate|date('Y-m-d') }}
{% endif %}
コントローラーで尋ねると、動作は期待どおりです
[コントローラ]
if (!$entity->getDueDate()) {
// enters here when there is NULL in the database
}
エンティティとフォームの定義は次のとおりです。
[実在物]
/**
* @var date $dueDate
*
* @ORM\Column(name="dueDate", type="date", nullable="true")
*/
private $dueDate;
[形]
$builder->add('dueDate', 'date', array('label'=>'Due date', 'empty_value' => array('year' => '----', 'month' => '----', 'day' => '----'),'required'=>false))
ヒントをください、よろしくお願いします。
2011-06-26 から関連する質問があり、Google グループには回答がありません
https://groups.google.com/forum/#!msg/symfony2/nLUmjKzMRVk/9NlOB1Xl5RwJ