我正在 Symfony2 中开发一个博客。我在教义中有两个实体:
- 第一个称为文章包含博客文章的列表:标题、文本、日期和用户,其中用户是帖子的作者。
- 第二个是用户,实际上是用户提供者。包含姓名、电子邮件
等。
我使用以下命令生成 Article 实体的 CRUD:
php app/console doctrine:generate:crud
我在控制器文件中得到以下 updateAction:
public function updateAction(Request $request, $id)
{
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('BlogBundle:Staticpage')->find($id);
if (!$entity) {
throw $this->createNotFoundException('Unable to find Staticpage entity.');
}
$deleteForm = $this->createDeleteForm($id);
$editForm = $this->createForm(new EditStaticPageType(), $entity);
$editForm->bind($request);
if ($editForm->isValid()) {
$em->persist($entity);
$em->flush();
return $this->redirect($this->generateUrl('static_edit', array('id' => $id)));
}
return $this->render('BlogBundle:StaticsManagement:edit.html.twig', array(
'entity' => $entity,
'edit_form' => $editForm->createView(),
));
}
当我打开表单以创建新文章或编辑现有文章时,会显示一个包含我的 User 实体的用户的框,因此我可以选择其中一个,因为这两个表在实体中使用 ManyToOne 注释链接。但是,我不想选择任何用户。我想在 Articles 表中写入已经登录的用户名(实际上是 ID,因为它们都是链接的),并删除可用用户的列表。
我已经设置了安全环境并且它可以正常工作,所以只有在用户登录时才会始终执行此代码。我想我必须编辑 updateAction 方法,但我不知道如何。