用户有很多用户关系,CakePHP方式

时间:2016-06-28 08:57:11

标签: cakephp cakephp-3.0

我有一张桌子

Users:
id|name|surname

现在,我需要将用户相互关联,以便每个用户都有很多用户(许多用户实际上是指朋友,例如facebook朋友)。

遵循CakePHP约定,最终会得到一个像这样的奇怪的表:

Users
id|name|surname

UserUsers
id|user_id|user_id

修改我的结构以实现此目的的最佳方法是什么。请注意,在我搜索之前可能已经问过这个问题,但没有特别要求CakePHP 3.X考虑Cakephp约定和所有问题。

1 个答案:

答案 0 :(得分:0)

我相信您可以在蛋糕3中的UsersTable中定义这样的关系:

$this->belongsTo('Users', [
            'className'  => 'Users',
            'foreignKey' => 'facebook_user_id',
            'joinType'   => 'LEFT'
        ]);

您必须定义一个facebook_user_id并将其设置为您的ID的外键。