我有这个表格:
<?php
namespace FEB\TwitterBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class TwitterpostType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('titulo')
->add('tweet', 'textarea')
->add('photo', 'file', array('required' => false))
->add('tags', 'entity', array(
'class' => 'FEBTagsBundle:tag',
'property' => 'tag',
'empty_value' => 'Selecciona tags',
'multiple' => true));
}
public function getName()
{
return 'twitter_form';
}
}
当我将它保存在我的数据库中时,“标签”字段会保存这个字符串:
Doctrine\Common\Collections\ArrayCollection@000000000b3d932100000000287ad87a
而不是属性“标签”的值,我的错误是什么?或者相反,这是正确的,我必须以正确格式的树枝模板显示它?
先感谢您。
编辑1:
解决方案: 最后,我只需要修改我的 twitterpost 实体:
<?php
namespace FEB\TwitterBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\ArrayCollection;
/**
* Twitterpost
*
* @ORM\Table()
* @ORM\Entity(repositoryClass="FEB\TwitterBundle\Entity\TwitterpostRepository")
*/
class Twitterpost
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="titulo", type="string", length=50)
* @Assert\NotNull(message="Debe escribir un titulo")
*/
private $titulo;
/**
* @var string
*
* @ORM\Column(name="tweet", type="string", length=145)
* @Assert\NotNull(message="Debe escribir un tweet")
*/
private $tweet;
/**
* Many-To-Many, Unidirectional
*
* @var ArrayCollection $tags
*
* @ORM\ManyToMany(targetEntity="\FEB\TagsBundle\Entity\tag")
* @ORM\JoinTable(name="twitter_has_tag",
* joinColumns={@ORM\JoinColumn(name="twitter_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="tag_id", referencedColumnName="id")}
* )
*/
private $tags;
public function __construct()
{
$this->tags = new ArrayCollection();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set titulo
*
* @param string $titulo
* @return Twitterpost
*/
public function setTitulo($titulo)
{
$this->titulo = $titulo;
return $this;
}
/**
* Get titulo
*
* @return string
*/
public function getTitulo()
{
return $this->titulo;
}
/**
* Set tweet
*
* @param string $tweet
* @return Twitterpost
*/
public function setTweet($tweet)
{
$this->tweet = $tweet;
return $this;
}
/**
* Get tweet
*
* @return string
*/
public function getTweet()
{
return $this->tweet;
}
/**
* Set tags
*
* @param string $tags
* @return Twitterpost
*/
public function setTags($tags)
{
$this->tags = $tags;
return $this;
}
/**
* Get tags
*
* @return string
*/
public function getTags()
{
return $this->tags;
}
}
Entity 标签没有变化。
该更改生成下一个数据库表:
表:twitter_has_tag
twitter_id
tag_id
我觉得没关系,不是吗?