我正在更新一个网站,我面临一个问题:有两个新闻表:一个用于公共新闻,一个用于内部新闻。这两个表完全一样。我无法改变这些表格上的任何内容
这是实体:
class News
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="title", type="string", length=255, nullable=true)
*/
private $title;
/**
* @var string
*
* @ORM\Column(name="slug", type="string", length=100, nullable=true)
*/
private $slug;
/**
* @var string
*
* @ORM\Column(name="content", type="text", length=65535, nullable=true)
*/
private $content;
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="datetime", nullable=true)
*/
private $date;
}
我需要制作一个表格来在两个表格中添加新闻,但因为它们完全相同,是否有可能(以及如何制作此表格)制作一个带有两个按钮“post private”和“post public”的表单将对象保存在正确的表中?
另外,在formType中,有一段代码可以绑定一个表单在我需要放在这里的实体上吗?
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'S2d\WebsiteBundle\Entity\News'
));
}
答案 0 :(得分:1)
假设存在两个实体PrivateNews
和PublicNews
以及默认选项中未定义NewsType
的表单类型data_class
。
在控制器中,尝试类似:
$privateNews = new PrivateNews();
$form = $this->createForm(new NewsType(), $privateNews);
与$publicNews
类似。