nothing special :
Clinic :
PHP Code:
"epidemios": {
"type": "linkMultiple",
"layoutDetailDisabled": false,
"layoutMassUpdateDisabled": false,
"layoutListDisabled": false,
"noLoad": false,
"importDisabled": false,
"exportDisabled": false,
"customizationDisabled": false,
"isCustom": true
},
"epidemiosA": {
"type": "linkMultiple",
"layoutDetailDisabled": false,
"layoutMassUpdateDisabled": false,
"layoutListDisabled": false,
"noLoad": false,
"importDisabled": false,
"exportDisabled": false,
"customizationDisabled": false,
"isCustom": true,
"view": "custom:views/clinic/fields/epidemio-filtered-link-a"
},
"epidemiosB": {
"type": "linkMultiple",
"layoutDetailDisabled": false,
"layoutMassUpdateDisabled": false,
"layoutListDisabled": false,
"noLoad": false,
"importDisabled": false,
"exportDisabled": false,
"customizationDisabled": false,
"isCustom": true,
"view": "custom:views/clinic/fields/epidemio-filtered-link-b"
},
......
"epidemios": {
"type": "hasMany",
"relationName": "clinicEpidemio",
"foreign": "clinics",
"entity": "Epidemio",
"audited": false,
"columnAttributeMap": {
"heading": "epidemioHeading"
},
"isCustom": true
},
"epidemiosA": {
"type": "hasMany",
"relationName": "clinicEpidemioA",
"foreign": "clinicsA",
"entity": "Epidemio",
"audited": false,
"isCustom": true
},
"epidemiosB": {
"type": "hasMany",
"relationName": "clinicEpidemioB",
"foreign": "clinicsB",
"entity": "Epidemio",
"audited": false,
"isCustom": true
},
Epidemio :
PHP Code:
"clinics": {
"type": "linkMultiple",
"layoutDetailDisabled": true,
"layoutMassUpdateDisabled": true,
"layoutListDisabled": true,
"noLoad": true,
"importDisabled": true,
"exportDisabled": true,
"customizationDisabled": true,
"isCustom": true
},
"clinicsA": {
"type": "linkMultiple",
"layoutDetailDisabled": true,
"layoutMassUpdateDisabled": true,
"layoutListDisabled": true,
"noLoad": true,
"importDisabled": true,
"exportDisabled": true,
"customizationDisabled": false,
"isCustom": true
},
"clinicsB": {
"type": "linkMultiple",
"layoutDetailDisabled": true,
"layoutMassUpdateDisabled": true,
"layoutListDisabled": true,
"noLoad": true,
"importDisabled": true,
"exportDisabled": true,
"customizationDisabled": true,
"isCustom": true
},
....
"clinics": {
"type": "hasMany",
"relationName": "clinicEpidemio",
"foreign": "epidemios",
"entity": "Clinic",
"audited": false,
"isCustom": true
},
"clinicsA": {
"type": "hasMany",
"relationName": "clinicEpidemioA",
"foreign": "epidemiosA",
"entity": "Clinic",
"audited": false,
"isCustom": true
},
"clinicsB": {
"type": "hasMany",
"relationName": "clinicEpidemioB",
"foreign": "epidemiosB",
"entity": "Clinic",
"audited": true,
"isCustom": true
},
PHP Code:
$clinics = $this->em->getRDBRepository('Clinic')
->where([
'type' => 'Epidemio',
'status' => 'Close',
])
->find();
// DH DI DP DM IM IP JM JP MA MR
$rangeAZ = range('A', 'Z');
$doubleLettre = ['DH', 'DI', 'DP', 'DM', 'IM', 'IP', 'JM', 'JP', 'MA', 'MR' ];
$ranges = array_merge($rangeAZ, $doubleLettre);
foreach($clinics as $clinic){
foreach ($ranges as $letter){
$epidemios = $this->em->getRDBRepository('Clinic')
->getRelation($clinic, 'epidemios' .$letter)
->find();
if (!$epidemios) continue;
foreach($epidemios as $epidemio){
$this->em->getRDBRepository('Epidemio')
->getRelation($epidemio, 'clinics')
->relate($clinic);
}
//$this->log->error( 'epidemios'.$letter .' => ' .$epidemios->count() );
}
}

Leave a comment: