Php Symfony2-无法访问字符串变量(“内联”)上的属性(“日期”)

Php Symfony2-无法访问字符串变量(“内联”)上的属性(“日期”),php,twitter-bootstrap,symfony,symfony-2.3,Php,Twitter Bootstrap,Symfony,Symfony 2.3,我创建了一个实体“事实”宽度“日期”属性 /** * Fact * * @ORM\Table(name="fact") * @ORM\Entity() */ class Fact { ..... /** * @var \DateTime * * @ORM\Column(name="date", type="datetime") */ private $date; /** * Get date

我创建了一个实体“事实”宽度“日期”属性

/**
 * Fact
 *
 * @ORM\Table(name="fact")
 * @ORM\Entity()
 */
class Fact
{
   .....

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="date", type="datetime")
     */
    private $date;

    /**
     * Get date
     *
     * @return \DateTime 
     */
    public function getDate()
    {
        return $this->date;
    }

    ...
}

public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('date', 'date')        
    }
然后,我使用symfony命令创建其CRUD接口(我还使用bootstrapSymfonyBundle):

所以我得到了这个错误:

Impossible to access an attribute ("date") on a string variable ("inline") in ... /vendor/braincrafted/bootstrap-bundle/Bc/Bundle/BootstrapBundle/Resources/views/Form/form_div_layout.html.twig at line 189 
我认为getDate()函数的返回类型是问题所在。我在DateTime对象中铸造了它,但没有任何更改

/**
 * @ORM\Column(type="datetime", name="date")
 * @Gedmo\Timestampable(on="create")
 */
private $date;

试着用这个来改变你的代码。还添加
使用Gedmo\Mapping\Annotation作为Gedmo位于代码顶部。如果您没有gedmo供应商,请安装它。安装后,您可以使用该代码。

Thx david,我有Gedmo,我尝试了它,但没有任何更改,在我的情况下,此属性必须由客户输入。我发现问题:,它必须是这样的:$builder->add('date','datetime',array('input'=>'datetime','widget'=>'single_text');但我无法更改日期的格式。'格式\日期'=>'yyyy/MM dd HH:MM:ss'不起作用。。
/**
 * @ORM\Column(type="datetime", name="date")
 * @Gedmo\Timestampable(on="create")
 */
private $date;