Здравствуйте, я хочу изменить значения моего "разрешения" массива, но это не работает, я пробую все
, но это всегда влияет на последнее значение
вот мой код:
$servicesFromRequest = $request->request->get('service');
$services = new ArrayCollection($em->getRepository(Services::class)->findBy(array('id' => array_keys($servicesFromRequest))));
//Prepares an arrayCollection of $habilitations selected by the client.
$habilitations = new ArrayCollection();
foreach ($servicesFromRequest as $key => $value){
$service = $services->filter(function ($s)use($key){
return $s->getid() == $key;
});
$service = $service->last();
$habilitation = $em->getRepository(Habilitation::class)->findOneBy(array('service' => $service, 'demand' => $demand));
$habilitation = $habilitation ? : $habilitation = new Habilitation($service, $demand);
$options = [];
$permissionsToCheck = ['r', 'w'];
foreach ($permissionsToCheck as $permission){
if(isset($value[$permission])){
$options['permissions'][$permission] = 1;
}
else{
$options['permissions'][$permission] = 0;
}
}
if($service->getType() == 3) {
foreach ($request->request->get('service_folder') as $folder) {
if($folder == 'r') {
$options['permissions']['r'] = 1;
$options['permissions']['w'] = 0;
} else if($folder == 'w') {
$options['permissions']['w'] = 1;
$options['permissions']['r'] = 0;
}
}
}
dump($options);
$habilitation->setOptions($options);
$habilitations->add($habilitation);
что я хочу, чтобы результат был:
"permission" =>
"r" => 1
"w" => 0
вот что я отправляю в запросе:
вот чтоэто:
спасибо за вашу помощь и ваше мнение, удачи всем