SilverStripe 无法填充多个成员 Childs

SilverStripe unable to populate multiple member Childs

我有 3 种类型的用户 销售员 => 有很多买家 买家 => 有很多代理人 代理有 none child

所以我想在查看销售员时列出与该销售员关联的所有买家 以及在管理员中查看买家时的所有代理人

class MemberExtension extends DataExtension
{
    private static $has_one = [
      'RefSalesman'    => Member::class,
      'AgentOwner'     => Member::class,
    ];

    private static $has_many = [
        'Buyers'                 => Member::class,
        'Agents'                 => Member::class,
    ];

    private static $summary_fields = [
      'RefSalesman.Name'    => 'Ref Salesman',
      'AgentOwner.Name'    => 'Agent Owner',
    ];

这样我在看salesman的时候只能看到买家下面有agents,没有买家。

这些has-many 关系不知道他们指的是哪个has-one。由于两者相同 class,您必须以点表示法明确指定目标关系:有关详细信息,请参阅 has-many 文档。

private static $has_many = [
    'Buyers'                 => Member::class.'.RefSalesman',
    'Agents'                 => Member::class.'.AgentOwner',
];