Symfony2中MongoDB的日期下拉?

时间:2015-01-18 13:24:43

标签: php mongodb symfony

我正在尝试使用Symfony 2,使用实体(文档)表单类型,在自定义查询的Mong(选择(下拉)字段)中列出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();

返回错误"类DateTime的对象无法转换为字符串"在树枝模板中。

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

1 个答案:

答案 0 :(得分:1)

您应该添加一个返回日期格式的方法:

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',