изменить значение индекса в 2 цикла в php - PullRequest
0 голосов
/ 22 октября 2019

Здравствуйте, я хочу изменить значения моего "разрешения" массива, но это не работает, я пробую все

, но это всегда влияет на последнее значение

вот мой код:

 $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 

вот что я отправляю в запросе: enter image description here

вот чтоэто:

enter image description here

спасибо за вашу помощь и ваше мнение, удачи всем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...