1
我遇到了symfony 2和關係問題。與attribut的多對多關係
我有2個表格:電影和電影。 我想使用包含更多關於鏈接的信息的中間對象(例如電影網址)在它們之間添加關係。
不幸的是,當我嘗試保存我的形式我得到這個以下錯誤:
一個新的實體通過中沒有配置級聯關係
'MyNameSapce\CoreBundle\Entity\Movie#cinemas'
發現持續經營的實體:MyNameSapce\CoreBundle\Entity\[email protected]
。顯式地堅持新實體或在關係上配置級聯持久操作。
如果您無法找出哪個實體導致問題實施
'MyNameSapce\CoreBundle\Entity\MovieCinema#__toString()'
以獲得線索。
這裏是我的代碼:
實體:
class MovieCinema {
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="MyNameSpace\CoreBundle\Entity\Cinema", inversedBy="movies")
*/
private $cinema;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="MyNameSpace\CoreBundle\Entity\Movie", inversedBy="cinemas")
*/
private $movie;
/**
* @var string $url
*
* @Assert\NotBlank()
* @ORM\Column(name="url", type="integer")
*/
private $url;
形式:
class MovieCinemaType extends AbstractType {
public function buildForm(FormBuilder $builder, array $options) {
$builder
->add('cinema', 'entity', array(
'label' => 'movie.field.cinema',
'class' => 'MyNameSpaceCoreBundle\Entity\Cinema',
'required' => false
))
->add('url', 'text', array(
'label' => 'movie.field.url'
))
;
}
public function getName() {
return 'corebundle_moviecinematype';
}
public function getDefaultOptions(array $options) {
return array(
'data_class' => 'MyNameSpace\CoreBundle\Entity\MovieCinema'
);
}
}
和
class MovieType extends AbstractType {
public function buildForm(FormBuilder $builder, array $options) {
$builder
->add('name', 'text', array(
'label' => 'movie.field.name'
))
->add('cinemas', 'collection', array(
'type' => new MovieCinemaType,
'prototype' => true,
'allow_add' => true)
)
;
}
public function getName() {
return 'corebundle_movietype';
}
}
你可以粘貼'MyNameSpace \ CoreBundle \ Entity \ Cinema'的代碼嗎? – Florent 2012-08-06 12:03:01