【发布时间】:2017-06-06 17:28:48
【问题描述】:
我正在使用 Symfony2 和 Doctrine2 制作实体。我制作了一些实体来表示我的两个实体之间的多对多关系。
这些实体之一的示例:
/**
* @ORM\Entity
*/
class Contact_Conference_Invitation
{
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Aurae\UserBundle\Entity\Contact")
*/
private $contact;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="Aurae\ConferenceBundle\Entity\Conference")
*/
private $conference;
/**
* @var datetime dateInvitation
*
* @ORM\Column(name="dateInvitation", type="datetime")
*/
private $dateInvitation;
//Getters and setters
}
我已尝试更新我的 sql 架构,但没有出现与这些实体对应的表。有没有我必须声明它们的地方(配置或类似的)?如果不是,有什么问题?
非常感谢
编辑:我忘记了这些类的名称空间,这就是 Doctrine 省略它们的原因。另一个案例已关闭:) 感谢您的回答!
【问题讨论】:
-
顶
use Doctrine\ORM\Mapping as ORM;有没有映射类作为use语句 -
是的,我有...我是否也必须使用我链接的两个类?
-
不,你没有。您的多对一声明中似乎没有任何
inversedBy="x"语句。不确定这会解决它,但它绝对是一个很好的做法。 -
我猜还有一些加入列语句:
@ORM\JoinColumn(name="conference_id", referencedColumnName="id", onDelete="SET NULL", nullable=true) -
好的,谢谢,我试试看。
标签: php symfony doctrine-orm