在 easy-admin 包中添加虚拟 属性
add a virtual property in easy-admin bundle
我目前正在使用 Symfony 4 中的 easy-admin 包的 2.3 版本。
我尝试为新视图创建虚拟 属性。
我有以下配置
#config/packages/easy_admin.yaml
easy_admin:
entities:
Field:
class: App\Entity\Field
form:
fields:
- { type: tab, label: initial information, icon: pencil-alt }
- name
new:
fields:
- { property: toto, type: file }
和我的实体文件:
//src/Entity/Field.php
/**
* @ORM\Entity(repositoryClass="App\Repository\FieldRepository")
*/
class Field
{
public function setToto(?File $file): self
{
$this->setImage(new Image);
$this->getImage()->setImageFile($file);
}
如 documentation 中所述,setter
应该足够了。
但是当我到达 new
页面时,出现以下错误:
Neither the property "toto" nor one of the methods "getToto()", "toto()", "isToto()", "hasToto()", "__get()" exist and have public access in class "App\Entity\Field".
这意味着该页面正在寻找 getter
而不是 setter
。这是正常的还是我做错了什么?
我刚刚 运行 解决了这个问题,我已经通过添加 getter 解决了它。
正如你所说,它正在寻找 getter 也正在寻找 setter.
我目前正在使用 Symfony 4 中的 easy-admin 包的 2.3 版本。
我尝试为新视图创建虚拟 属性。 我有以下配置
#config/packages/easy_admin.yaml
easy_admin:
entities:
Field:
class: App\Entity\Field
form:
fields:
- { type: tab, label: initial information, icon: pencil-alt }
- name
new:
fields:
- { property: toto, type: file }
和我的实体文件:
//src/Entity/Field.php
/**
* @ORM\Entity(repositoryClass="App\Repository\FieldRepository")
*/
class Field
{
public function setToto(?File $file): self
{
$this->setImage(new Image);
$this->getImage()->setImageFile($file);
}
如 documentation 中所述,setter
应该足够了。
但是当我到达 new
页面时,出现以下错误:
Neither the property "toto" nor one of the methods "getToto()", "toto()", "isToto()", "hasToto()", "__get()" exist and have public access in class "App\Entity\Field".
这意味着该页面正在寻找 getter
而不是 setter
。这是正常的还是我做错了什么?
我刚刚 运行 解决了这个问题,我已经通过添加 getter 解决了它。 正如你所说,它正在寻找 getter 也正在寻找 setter.