Php Symfony2-使用ArrayCollection填充文本字段?
我正在使用FPNTagBundle,我希望有一个文本字段来向实体添加标签,其工作方式与此站点上的相同 我可以使用explode创建一个带有标记的新实体,这没有问题,但是当我再次编辑实体时,在文本字段中会得到类似的结果 条令\通用\集合\ArrayCollection@0000000062a07bb50000000047044868 是否有一种方法可以使用数组集合预先填充文本字段,以便显示所有标记,并用空格分隔 以下是我当前控制器中的内容:Php Symfony2-使用ArrayCollection填充文本字段?,php,symfony,Php,Symfony,我正在使用FPNTagBundle,我希望有一个文本字段来向实体添加标签,其工作方式与此站点上的相同 我可以使用explode创建一个带有标记的新实体,这没有问题,但是当我再次编辑实体时,在文本字段中会得到类似的结果 条令\通用\集合\ArrayCollection@0000000062a07bb50000000047044868 是否有一种方法可以使用数组集合预先填充文本字段,以便显示所有标记,并用空格分隔 以下是我当前控制器中的内容: public function editpageActi
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()));
}
谢谢你的建议
谢谢这就是数据转换器的用途 一个简单的例子:
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;
}
公共函数转换($tags)
{
$tags=$tags->toArray();
如果(计数($tags)<1)
返回“”;
其他的
返回内爆(“”,$tags);
}
公共函数reverseTransform($string)
{
$tags=新的ArrayCollection();
$tagsArray=爆炸(“”,$string);
如果(计数($tagsArray)>0)
$tags=新阵列集合($tagsArray);
返回$tags;
}
事实上,你的帖子是对文档的一个极好的补充。由于标记
通常是一个数组集合,所以我被内爆错误卡住了。谢谢,先生!