我对OneToMany关系有一个很大的理解问题 - 我搜索了很多,但没有帮助,也许有人可以帮助我。
我有一个OneToMany关系的事件实体
<?php
namespace #\#\#;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Turmforum\BookingBundle\Entity\Contact;
/**
* Event
*
* @ORM\Table(name="events")
* @ORM\Entity
*/
class Event
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="Contact", mappedBy="event")
*/
protected $event_contacts;
/**
*
*/
public function __construct() {
$this->contacts = new ArrayCollection();
}
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
public function getContacts() {
return $this->contacts;
}
public function addContact(Contact $contact) {
$this->contacts[] = $contact;
return $this;
}
并拥有一个包含ManyToOne Relation的联系实体
<?php
namespace #\#\#;
use Doctrine\ORM\Mapping as ORM;
use Turmforum\BookingBundle\Entity\Event;
/**
* Contact
*
* @ORM\Table(name="contacts")
* @ORM\Entity
*/
class Contact
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Event", inversedBy="event_contacts")
* @ORM\JoinColumn(name="event_id", referencedColumnName="id")
*/
protected $event;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* @return mixed
*/
public function getEvent() {
return $this->event;
}
当我尝试在表单上保存我的活动详细信息时,我收到错误:
属性“event_id”和方法“getEventId()”之一, “eventId()”,“isEventId()”,“hasEventId()”,“_ _ get()”存在并拥有 “Turmforum \ BookingBundle \ Entity \ Event”类中的公共访问。
我缺少什么?