Ich will die Ergebnismenge der Beziehung in der folgenden Weise modifizierenLaravel Eloquent Beziehung keyBy()
Ich habe dieses Array
array:11 [▼ "id" => 1 "user_id" => 1 "name" => "Test Case" "created_at" => "2017-08-25 17:12:26" "updated_at" => "2017-08-29 11:59:46" "hashid" => "5LOkAdWNDqgVomK" "user" => array:8 [▶] "order" => array:8 [▶] "classification" => array:2 [▼ 0 => array:9 [▼ "id" => 1 "case_id" => 1 "method" => "facial_map_manual" "strong" => 2.0 "dynamic" => 30.0 "delicate" => 50.0 "calm" => 18.0 "created_at" => "2017-08-31 11:00:00" "updated_at" => "2017-08-31 11:00:00" ] 1 => array:9 [▼ "id" => 2 "case_id" => 1 "method" => "interview" "strong" => 20.0 "dynamic" => 25.0 "delicate" => 30.0 "calm" => 25.0 "created_at" => "2017-08-31 11:00:00" "updated_at" => "2017-08-31 11:00:00" ] ] "classification_data" => array:3 [▼ 0 => array:6 [▼ "id" => 1 "case_id" => 1 "type" => "facial_points" "data" => null "created_at" => "2017-08-31 11:00:00" "updated_at" => "2017-08-31 11:00:00" ] 1 => array:6 [▼ "id" => 2 "case_id" => 1 "type" => "interview" "data" => array:4 [▶] "created_at" => "2017-08-31 12:00:00" "updated_at" => "2017-08-31 11:00:00" ] 2 => array:6 [▶] ] "teeth_configuration" => array:6 [▶] ]
I Klassifizierung und classification_data säulenchromatographisch abbilden wollen Schlüssel (Typ OR-Methode), die geladene Beziehungen sind. Diese ist die Abfrage:
$case = RCase::with(['user','order','classification','classificationData','teethConfiguration'])->where('id',$id)
->first();
Dies ist, was ich versuchte, so weit
$case->classificationData = $case->classificationData->keyBy('type')->toArray();
Mit der ersten Methode, die sie nach Typ geordnet sind aber die alten classification_data bleibt es auch dann, wenn versuchen,
unlink($case->classification_data)Dies ist nicht das große Problem ... Ich kann dies auch mit Klassifizierung tun, aber die Daten bleiben gleich.
Gibt es irgendeine Methode, mit der ich keyBy() direkt in das geladene Beziehungsmodell tun kann? Vielen Dank im Voraus
PHP Version: 7.1 Laravel Version: 5.4.38 OS: Ubuntu 16.04 LTS