1
我有2个表格成员和评论..我成功地把他们联系到。所以现在,我可以获得任何用户的所有条目的集合。但我需要创建一个名为'追随者'的表,每个用户可以关注每个表。因此,现在,我希望能够从1位用户那里获得所有评论以及他所关注用户的评论。但不知道用什么方法来完成与这张新表的关系。学说2从2个关系中获取集合?
用户实体:
namespace Entities\Members;
/**
* @Entity(repositoryClass="\Entities\Member\MembersRepository")
* @Table(name="Members")
* @HasLifecycleCallbacks
*/
class Members extends \Entities\AbstractEntity
{
/**
* @Id @Column(name="id", type="bigint",length=15)
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @Column(name="userid", type="bigint", length=26, nullable=true) */
protected $userid;
/** @Column(name="fname", type="string", length=255,nullable=true) */
protected $fname;
/** @OneToMany(targetEntity="\Entities\Users\Wall", mappedBy="entry", cascade={"persist"}) */
protected $commententries;
public function __construct()
{
$this->commententries = new \Doctrine\Common\Collections\ArrayCollection();
}
}
意见实体:
namespace Entities\Members;
/**
* @Entity(repositoryClass="\Entities\Member\CommentsRepository")
* @Table(name="comments")
* @HasLifecycleCallbacks
*/
class Comments extends \Entities\AbstractEntity
{
/**
* @Id @Column(name="id", type="bigint",length=15)
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @Column(name="userid", type="bigint", length=26, nullable=true) */
/**
* @ManyToOne(targetEntity="\Entities\Member\Member", cascade={"persist"})
* @JoinColumn(name="userid", referencedColumnName="id")
*/
protected $entry;
}
这个作品,我可以通过获取用户的所有注释:
$this->repo->findByUserid(3); (userid = 3)
然而
,我怎么能添加'跟随'表(就像twitter一样)。在哪里可以关注其他人,因此,我不仅能够查看用户的id-3评论,还能够查看来自其他用户的其他评论?
表叫:追随者:
namespace Entities\Members;
/**
* @Entity(repositoryClass="\Entities\Member\FollowersRepository")
* @Table(name="followers")
* @HasLifecycleCallbacks
*/
class Followers extends \Entities\AbstractEntity
{
/**
* @Id @Column(name="id", type="bigint",length=15)
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @Column(name="userid", type="bigint", length=26, nullable=true) */
protected ???;
/**
* @Many ???
* @JoinColumn( ???
*/
protected $???;
}
从追随者到会员有什么样的关系? –
在关注者实体中,我将创建与成员的ManyToMany关系。您可能希望一名追随者能够追随多个成员,并让一名成员拥有多个追随者。 请参阅:http://www.doctrine-project.org/docs/orm/2.0/en/reference/association-mapping.html#many-to-many-unidirectional – AquaRobin
但如果我这样做,它会创建一个manay-many表格,其中显示了成员和追随者之间的联系。所以,这将如何工作..我如何将评论附加到这个链接表? –