Symfony Sonata Admin Bundle - 预期数字

Symfony Sonata Admin Bundle - expected numeric

嘿,我的降神会实体有以下字段:

- idseance
- day
- hour
- idmovie (references to Movie entity => id)
- idromm (references to Room entity => id)

当我想列出所有降神会时,一切正常,我在列中看到电影标题,但如果我尝试编辑降神会,我会遇到以下错误: 无法转换 属性 路径 "idmovie" 的值:应为数字。

idroom case 出现同样的错误

下面是我来自 SeanceAdmin 的 configureFormField

   $formMapper->add('day', 'datetime', ['label' => 'Data seansu', 'format' => 'y M d']);
    $formMapper->add('hour', 'time', ['label' => 'Godzina rozpoczęcia ']);
    $formMapper->add('discountticket', 'number', ['label' => 'Cena biletu ulgowego']);
    $formMapper->add('normalticket', 'number', ['label' => 'Cena biletu normalnego']);
    $formMapper->add('idmovie', 'integer', ['label' => 'Film']);
    $formMapper->add('idroom', 'integer', ['label' => 'Sala']);

如果我删除 idmovie 和 idroom,编辑页面加载 correctyl 但我当然不能编辑电影或房间值。

有人知道为什么它不能正常工作吗?

如果没有完成,您需要为 idmovie/idromm 字段编写注释。

首先,在您的实体命名空间下添加:use Doctrine\ORM\Mapping as ORM;

然后你必须像这样注释你的字段:

 * @ORM\ManyToOne(targetEntity="YourBundle\Entity\Movie", cascade={"persist"})
 * @ORM\JoinColumns({
 *   @ORM\JoinColumn(name="id_movie", referencedColumnName="id")
 * })
 /
 private $idMovie;

最后,在 SeanceAdmin.php 中,您需要将字段的 integer 类型替换为 entitysonata_type_model

您可以在此处查看有关表单字段类型的更多信息 -> https://sonata-project.org/bundles/admin/master/doc/reference/form_types.html