Symfony 4.4 - 如何在2个表格中插入数据,这些表以一个形式链接



我有 2 个表"utilisateur"(用户(和"pilote"(骑手(具有一对一关系。 当用户注册时,我希望他输入邮件/密码和昵称,这是他的骑手姓名。邮件和密码进入"utilisateur",昵称进入"pilote"。邮件和昵称都必须是唯一的。

我现在有什么:

  • 我做了我的实体,"utilisateur"有一个"pilote"属性来建立关系。 实用实体代码
  • 我已经有一个有效的注册表格(用make:注册表格制作(。

我没有得到什么:

  • 如何在我的注册表中添加昵称字段,以便创建一个"飞行员"实体,然后将其添加到控制器中的"utilisateur"实体中?

看起来您只需要创建实体的 2 个新对象并像这样链接它们:

class TestController extends AbstractController
{
/**
* @param Request $request
* @param EntityManagerInterface $em
* @return Response
*/
public function index(
Request $request,
EntityManagerInterface $em
)
{
// add searchForm
$form = $this->createForm(YourForm::class);
$form->handleRequest($request);
// Check Form
if ($form->isSubmitted() && $form->isValid()) {
$formData = $form->getData();
// @todo check for duplicates
// you would have to check if Utilisateur/Pilote already exists and only then add,
// if not you'll get duplicates
$utilisateur = new Utilisateur($formData['mail'], $formData['password']); // create Utilisateur
$utilisateur->setPilote(new Pilote($formData['nickname'])); // link Pilote
$em->persist($utilisateur);
$em->flush(); // commit your new User

// add success flash
$this->addFlash(sprintf("Utilisateur %s() created", $utilisateur->getMail));
}
return $this->render(
'yourTemplate.html.twig',
[
'form' => $form->createView(),
]
);
}
}

现在您应该在数据库上看到 2 个新条目

相关内容

  • 没有找到相关文章

最新更新