gpt4 book ai didi

php - 对 Doctrine 中的实体使用自定义查询 - Symfony Form

转载 作者:行者123 更新时间:2023-11-29 19:03:41 28 4
gpt4 key购买 nike

我有两张表,一张是这样的用户

id _ 用户名 _ 名字 _ 姓氏

另一个是users_test

id _ user_id _ 姓名

我正在尝试在 Symfony Form (UserTestType) 中进行自定义查询,以从第一个实体 (UsersType) 获取 id 并将该 id 作为值插入。我的代码是这样的:

$builder->add('user_id', EntityType::class, array(
'class' => 'UserBundle:Users',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('u')
->orderBy('u.id', 'ASC');
},
'choice_label' => 'firstname',
'choice_value' => 'id',
));

当我重新加载页面时,它说:无法加载类型“Symfony\Component\Form\Extension\Core\Type\EntityType”

注意:我使用了 Symfony\Component\Form\Extension\Core\Type\EntityType;

我希望有人能帮助我找到我的问题。

最佳答案

我刚刚尝试了一下,您可能会从用户/名字/姓氏中复制并粘贴 TextType,然后更改命名空间的最后一部分,这会引导您到达 TextType 和许多其他类型所在的命名空间。 (我犯了同样的错误,损失了 2 分钟的生命)

对于 EntityType 和 DoctrineType,您需要使用以下命名空间:

使用 Symfony\Bridge\Doctrine\Form\Type\EntityType;

此外,如果您没有这样做(我知道您写过您使用它,但以防万一),您还应该使用您的用户实体类,例如:

使用 UserBundle\Entity\Users;

(或使用单数形式User,我建议您使用单数形式User,这样您就不必为单数/复数而苦苦挣扎)

我还记得在某处读到建议通过 ::class 使用 FQCN,这样你就可以考虑更改:

'class' => 'UserBundle:Users',

'class' => 用户::class,

关于php - 对 Doctrine 中的实体使用自定义查询 - Symfony Form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43676142/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com