我有以下代码,显示在项目中添加子页面时可以使用的所有可用主页:
$builder->add('subtocontentid',
'entity',
array(
'class'=>'Shout\AdminBundle\Entity\Content',
'property'=>'title',
'query_builder' => function (EntityRepository $repository)
{
return $repository->createQueryBuilder('s')
->where('s.mainpage = ?1')
->setParameter(1, '1')
->add('orderBy', 's.created ASC');
}
));
在表单中,它可以正常工作。它显示主页的正确标题。但是,将表单传递给数据库时,页面ID将传递给数据库。这不是我希望它工作的方式,我需要它来传递一个slug到数据库。
我知道我正在使用的代码检索数据库中的所有字段。如何只选择Title字段和Slug字段,然后在表单中将Slug字段传递给数据库?
干杯
答案 0 :(得分:2)
您必须更改EntityType使用的Transformer,并且它不是传递给数据库的id,它是实体,因为Transformer获取id并在其列表中查找实体。因此,在您的情况下,它将是Shout\AdminBundle\Entity\Content