gpt4 book ai didi

php - Symfony2 - 使用 ArrayCollection 填充文本字段?

转载 作者:行者123 更新时间:2023-12-04 00:44:56 25 4
gpt4 key购买 nike

我正在使用 FPNTagBundle,我想要一个文本字段来向实体添加标签,其工作方式与本网站上的实体相同。

我可以使用 explode 创建一个带有标签的新实体没有问题,但是当我再次编辑该实体时,我在文本字段中得到类似这样的内容。

Doctrine\Common\Collections\ArrayCollection@0000000062a07bb50000000047044868

有没有一种方法可以用数组集合预填充文本字段,以便显示所有标签,并用空格分隔?

这是我目前在我的 Controller 中的内容:

public function editpageAction(Request $request, $id = NULL)
{
$em = $this->getDoctrine()->getEntityManager();
$tagManager = $this->get('fpn_tag.tag_manager');
$page = new Page();

if ( ! empty($id))
{
$page = $em->getRepository('ContentBundle:Page')->findOneById($id);
$tagManager->loadTagging($page);
}

$form = $this->createForm(new PageType(), $page);

if ($request->isMethod('POST'))
{
$form->bind($request);

if ($form->isValid())
{
$em = $this->getDoctrine()->getManager();
$em->persist($page);
$em->flush();

return $this->redirect($this->generateUrl('content_admin_list_sections'));
}
}

return $this->render('ContentBundle:Admin:page.html.twig', array('form' => $form->createView()));
}

感谢任何建议。

谢谢

最佳答案

这就是数据转换器的用途。

How to use Data Transformers

一个简单的例子:

public function transform($tags)
{
$tags = $tags->toArray();

if (count($tags) < 1)
return '';
else
return implode(' ', $tags);
}

public function reverseTransform($string)
{
$tags = new ArrayCollection();
$tagsArray = explode(' ', $string);

if (count($tagsArray) > 0)
$tags = new ArrayCollection($tagsArray);

return $tags;
}

关于php - Symfony2 - 使用 ArrayCollection 填充文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17252730/

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