在实体的EasyAdmin列表视图中单击“编辑”链接时,该实体包含带有type="date"
的字段,我收到以下错误消息:
无法转换属性路径“生日”的值:需要一个字符串。
我的实体中有这个
/**
* @ORM\Column(type="date")
* @Assert\NotBlank()
* @Assert\Date()
*/
private $birthday;
答案 0 :(得分:2)
有2种解决方案。
又快又脏(Symfony <5)
在config/packages/easy_admin.yaml
中进行更改:
easy_admin:
entities:
MyEntity:
form:
fields:
- { property: 'birthday', type: 'date' }
有关更多的配置详细信息,请参见https://symfony.com/doc/master/bundles/EasyAdminBundle/book/edit-new-configuration.html#the-special-form-view。
快速清洁
@Assert\Date()
在Symfony 4.2中的type="date"
字段中已弃用(因此可能在Symfony 5中已删除)。验证取决于设置器的\DateTimeInterface
类型提示。总计:
/**
* @ORM\Column(type="date")
* @Assert\NotBlank()
*/
private $birthday;
public function setBirthday(?\DateTimeInterface $birthday): self
{
// ...
return $this;
}
有关一些背景信息,请参见https://github.com/EasyCorp/EasyAdminBundle/issues/2381。