Symfony2 中 MongoDB 的日期下拉菜单?

Date dropdown from MongoDB in Symfony2?

我正在尝试使用 Symfony 2 在 select(下拉)字段中使用实体(文档)表单类型从自定义查询中列出来自 MongoDB 数据库的特定日期。

我正在尝试以下操作:

$defaultData = array();
    $form = $this->createFormBuilder($defaultData)
                ->add('date', 'document', array(
                    'class' => 'MyBundle:Items',
                    'property' => 'date',
                    'query_builder' => function(DocumentRepository $dr) {
                        return $dr->createQueryBuilder('Items')
                            ->field('user')->references($this->getUser());
                    },
                ))
                ->add('Search', 'submit')
                ->getForm();

Twig 模板中的这个 returns 错误 "Object of class DateTime could not be converted to string"。

有没有办法将 DateTime 格式化为表单输出中的字符串,或者有没有办法用日期字段实现这一点?非常感谢任何帮助和示例。谢谢你。

您应该只添加一个 returns 日期格式如您所愿的方法:

class Items 
{
     private $date;
     //....
     public function getDate()
     {
          return $this->date;
     }
     //....
     public function getDateString()
     {
          return $this->date->format('d-m-Y');
     }
     //....

并且只需在您的表单字段中将该方法用作 属性:

->add('date', 'document', array(
      'class' => 'MyBundle:Items',
      'property' => 'date_string',