У меня есть 2 члена таблицы и комментарии .. Я успешно присоединяюсь к ним.так что теперь я могу получить коллекцию всех записей для любого пользователя.но мне нужно создать еще одну таблицу под названием «последователи», где каждый пользователь может следить за каждым.поэтому теперь я хочу получить возможность получать все комментарии от 1 пользователя, а также комментарии для пользователей, за которыми он также следит.но не знаю, какой способ подойти к завершению этих отношений с этой новой таблицей.
сущность пользователя:
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)
, однако, как я могу добавить «следующую» таблицу (как в твиттере).где один может следовать за другим, и поэтому я мог бы не только видеть комментарии пользователя 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 $???;
}