如何在 cakephp 3 中加入多对多 table?

How to self join a many to many table in cakephp 3?

我尝试自行加入我的 table 用户以获得父子关联,但没有成功

这是我在用户模型中的关联:

        $this->belongsToMany('Parents', [
            'className' => 'Users',
            'joinTable' => 'users_users',
            'foreignKey' => 'id',
            'targetForeignKey' => 'parent_id'
            ]);
        $this->belongsToMany('Childs', [
            'className' => 'Users',
            'joinTable' => 'users_users',
            'foreignKey' => 'id',
            'targetForeignKey' => 'child_id'
            ]);

我没有在UsersUsers模型中做参数。

当我这样做时:

  $test = $this->Users->find()->where(['id =' => 65])->contain(['Parents']);

我得到了子实体,但父实体 属性 是空的,所以我做错了什么,但我不知道是什么。

感谢您的帮助:)

我的外键不好,是这样的:

    $this->belongsToMany('Parents', [
        'className' => 'Users',
        'joinTable' => 'users_users',
        'foreignKey' => 'child_id',
        'targetForeignKey' => 'parent_id'
        ]);
    $this->belongsToMany('Childs', [
        'className' => 'Users',
        'joinTable' => 'users_users',
        'foreignKey' => 'parent_id',
        'targetForeignKey' => 'child_id'
        ]);

问题已解决