Symfony2将父实体ID设置为关系表

时间:2015-04-15 09:29:14

标签: php mysql symfony

我有两个实体Content和Synopsis,oneToOne关系。内容ID保存在content_id字段中的概要表中。两者都有不同的formtype类,如:ContentType和SynopsisType。

现在我原因是我合并了两种形式:

class ContentType extends AbstractType
{
/**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('title','text',array('label'=>'Title'))
        ->add('bntitle','text',array('label'=>'Title 2'))
        ->add('unique_id','text',array('label'=>'Unique ID'))
        ->add('content_owner')
        ->add('sp_credits')
        ->add('synopsis',new SynopsisType())
 } }

现在我在内容表单中看到了概要表单,但我面临的问题是将content_id保存在概要表中。它是内容表中的Id,用于将概要与其内容联系起来。

任何人都可以告诉我如何获取内容ID并将值设置为synopsis表的content_id字段?

由于

2 个答案:

答案 0 :(得分:0)

在教条中,如果你想使用外键添加另一个对象,你必须这样做,不仅要添加该对象的id。因此,使用content_id获取内容实体,然后将该内容对象添加到概要实体。

答案 1 :(得分:0)

  * @var \Bbd\BongoAppBundle\Entity\Synopsis
 */
private $synopsis;


/**
 * Set synopsis
 *
 * @param \Bbd\BongoAppBundle\Entity\Synopsis $synopsis
 * @return Content
 */
public function setSynopsis(\Bbd\BongoAppBundle\Entity\Synopsis $synopsis = null)
{
    $this->synopsis = $synopsis;

    return $this;
}

/**
 * Get synopsis
 *
 * @return \Bbd\BongoAppBundle\Entity\Synopsis 
 */
public function getSynopsis()
{
    return $this->synopsis;
}

将此内容实体解决了问题,我发现在symfony doc ..