Symfony 5:属性路径“myEntity”中给出的“字符串”、“对象”类型的预期参数

狐猴

我在 Symfony 5 中遇到 EntityType 类的问题,我找不到一种方法让表单行返回 astring而不是实体 ( MyEntity)。这就是我作为表单构建器的一部分的基本内容:

$builder->add('myEntity', EntityType::class, [
                'class' => MyEntity::class,
                'placeholder' => "(Please select an option.)",
                'choice_label' => 'name'
            ])

我的目的是让本场返回nameMyEntity选择,而不是整个实体(所以,确切相同的值'choice_label')。我已经尝试添加一个'choice_value' => 'name'属性(带有一个'mapped' => false属性,在这种情况下显然是必要的),但无济于事。更准确地说,表单行开始返回null而不是string任何实体的 a 。

我怎样才能实现我的目标?

狐猴

事实证明,定义__toString()功能,MyEntity为返回name场(完全相同的方式,你会定义getName())固定它,我现在没有错误外加一个成功提交到数据库。

public function __toString() {
    return $this->name;
}

(如果你想知道为什么只是这个添加而不是其他任何修复它,这是因为__toString默认情况下已经在一些预先存在的实体相关代码中以更简单和自定义的方式表达实体,如果我不是错了。现在我使这个函数可用,它会去它并安全地假设当我的实体可能需要以更简单的 [string] 格式表示时,__toString应该被调用以“转换”MyEntity为有意义的字符串,例如它name。我想这就是说,例如,您不会通过所有内部零件来指代汽车,而只是通过其型号来指代汽车。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Symfony形式-在属性路径中给定的预期参数类型“字符串”

Symfony:属性路径中给出的“?Doctrine\Common\Collections\Collection”、“array”类型的预期参数

Symfony表单-预期的类型为“字符串或Symfony \ Component \ Form \ FormTypeInterface”,“ array”的参数

Symfony“类型”约束:“字符串”类型的预期参数,“数组”给定异常

在属性路径“ nomPlat”中给出的类型为“字符串”,“ App \ Entity \ Mets”的预期参数

在属性路径中给出的类型为“字符串”,“空”的预期参数

Symfony - '' 类型的预期值改为“字符串”

当使用表单实体类型进行编辑时,Symfony“spl_object_hash() 期望参数 1 为对象,给出字符串”

在属性路径“ cc”处给出的类型为“字符串或空”,“数组”的CollectionType预期参数

路径“ sylius_cart.resources.cart.classes.form”的类型无效。预期数组,但是得到了字符串symfony 2.8.3 sylius 0.17.0

Symfony格式错误:“给出了“ Doctrine \ ORM \ QueryBuilder”类型的预期参数,“ Doctrine \ ORM \ Query”已给出”

Symfony 3.3-Services.yml参数(ResponseFactory)-作为字符串而不是对象传递的参数

Symfony预期类型为“整数或空”的参数

传递给 Symfony\Component\Form\FormRenderer::searchAndRenderBlock() 的参数 3 必须是数组类型,给定的字符串,在 C:\Users\ 中调用

Symfony中对象的Order属性

DateTime格式期望参数1为字符串,给定对象-Symfony2

Symfony YAML格式转换:带字符串参数的“调用”

Symfony:从URL字符串获取参数名称

Symfony4预期为字符串,但得到了字符串

Symfony 3类的对象无法转换为字符串

“类型为“int 或 null”的预期参数,在属性路径中给出的“对象”

Symfony 4:在注销处理程序上获取用户对象给出匿名字符串

在 Symfony 中的 YAML 集合类型中混合数字键和字符串键

实体预期对象返回symfony

实体属性类型作为Symfony2中的对象

在symfony中避免依赖注入中的容器字符串

如何在Symfony 3中将对象数组转换为字符串?

使用Symfony根据URL中的字符串设置路由

如何在Symfony 4中获取查询字符串