有四张表Articles:(id,body)Questions(id,body)Votes(id,user_id,votable_id,vote_type)comments(id,user_id,body,commentable_id,comment_type)vote存储用户对Articles和Questions的点赞记录;使用vote_type区分存储的记录是对文章还是问题的点赞iduser_idvotable_idvote_type说明121article该记录表示用户2对文章1的点赞121question该记录表示用户2对问题1的点赞comments存储用户对Articles和Questions的回复记录;使用commentable_type区分存储的记录是对文章还是问题的回复iduser_idcommentable_idcomment_type说明121article该记录表示用户2对文章1的回复121question该记录表示用户2对问题1的回复背景结束;那么怎么声明他们之间的mapping关系呢;useDoctrine\ORM\MappingasORM;/***@ORM\Entity*@ORM\Table(name="articles")*/classArticle{//.../****@ORM\OneToMany(targetEntity="Vote",mappedBy="votable")*/$votes;}classVote{//.../****@ORM\ManyToOne(targetEntity="Article|Question?",inversedBy="votes")*/$votes;}
相关分类