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 实体?

Django 管理屏幕不按名称显示实体

SonataProductBundle(symfony 2.8)而不是显示产品创建表单,而是出现“没有可用的对象类型”按钮

如何在 Symfony 中动态创建实体类