我创建了一个实体"事实"宽度"日期"属性。
/**
* Fact
*
* @ORMTable(name="fact")
* @ORMEntity()
*/
class Fact
{
.....
/**
* @var DateTime
*
* @ORMColumn(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):
php app/console generate:doctrine:crud --entity=MlatAdminBundle:Fact --format=annotation
所以我得到了这个错误:
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()函数的返回类型是问题所在。我在日期时间对象中转换了它,但没有任何变化。
/**
* @ORMColumn(type="datetime", name="date")
* @GedmoTimestampable(on="create")
*/
private $date;
尝试用这个更改你的代码。还要在代码顶部添加use GedmoMappingAnnotation as Gedmo;
。如果您没有 gedmo 供应商,请安装它。安装后,您可以使用该代码。