Symfony,如何显示对象的正常名称而不是实体编号
Posted
技术标签:
【中文标题】Symfony,如何显示对象的正常名称而不是实体编号【英文标题】:Symfony, how show normal name of object not enetity number 【发布时间】:2019-03-19 22:00:16 【问题描述】:我对对象的名称有疑问。在 symfony 4 中,奏鸣曲管理员。 当使用其他实体的结果创建字段自动完成时,我得到了这个对象实体的数量,为什么我没有得到正常的名称女巫保存在数据库中?
->add('child', ModelAutocompleteType::class, [
'property' => 'name',
'multiple' => 'true',
])
还有:Edite App\Entity\Invest.....想要正常的名称。任何人都可以帮忙吗?
【问题讨论】:
我不知道这是否是问题所在,但'multiple' => 'true'
不是布尔值。这是一个字符串。
'multiple' => 'true',没问题 :) @MilanG 帮了我 :)
【参考方案1】:
尝试在你的对象类中实现“魔法”方法__toString()
:
http://php.net/manual/en/language.oop5.magic.php#object.tostring
并在其中生成对象的名称。所以,像这样添加它:
public function __toString()
return $this->foo;
你的函数只需要返回一个字符串。使用对象中的变量来生成该字符串。
【讨论】:
以上是关于Symfony,如何显示对象的正常名称而不是实体编号的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 5,删除对象时出错:在一对一关系中创建新 id 而不是删除对象
使用 Symfony2 formbuilder 显示缩略图而不是 img 的名称
如何将具有嵌套属性的 JSON 对象反序列化为 Symfony 实体?
SonataProductBundle(symfony 2.8)而不是显示产品创建表单,而是出现“没有可用的对象类型”按钮