I have 3 type of users salesman => has many buyers buyer => has many agents agent has none child
so I want to list all the buyers associate with that salesman when viewing salesman and all the agents when viewing buyer in admin
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',
];
This way I am only able to see agents listing under buyers but no buyers when viewing salesman.
These has-many relations do not know to which has-one they are referring to. Being both the same class, you must explicitely specify the destination relation in dot notation: see the has-many documentation for details.
private static $has_many = [
'Buyers' => Member::class.'.RefSalesman',
'Agents' => Member::class.'.AgentOwner',
];