'id')); $this->view->setVars([ 'data' => $data, ]); } function setAction() { } function getBriefFormDataAction(){ if($this->request->getPost()){ $post = $this->request->getPost(); /* $model = \briefToFields::find("brief_id='{$post["brief_id"]}'"); print_r($model->toArray());*/ $sql = "SELECT briefBlocksFields.id AS id, briefToFields.field_value AS field_value, briefBlocksFields.type AS field_type FROM briefToFields LEFT JOIN briefBlocksFields ON briefToFields.field_id = briefBlocksFields.id WHERE briefToFields.brief_id = {$post["brief_id"]}"; $data = $this->modelsManager->executeQuery($sql)->toArray(); $result = json_encode($data); print_r($result); die(); } } function addAction($id) { $fieldsData = \briefBlocksFields::find(); if($this->request->getPost()){ $post = $this->request->getPost(); $model = \briefToFields::find("brief_id='$id'"); foreach($model as $row){ $row->delete(); } foreach($post as $k => $field){ $model= new \briefToFields(); $model->field_value = $field; $model->brief_id = $id; $model->field_id = $k; $model->save(); } return $this->response->redirect([ 'for' => 'add_brief', 'id' =>$id ]); }; $brief = \brief::findFirst("request_id=$id"); if(!$brief instanceof \brief){ $brief = new \brief(); $brief->request_id=$id; $brief->date = date("Y-m-d"); $brief->save(); } $request_order = \orderRequest::findFirst("id = '$id'"); $services_list = \fields::find("id IN ('".str_replace(",","','",$request_order->services)."') ORDER BY weight ASC")->toArray(); $parent_id = $this->common->array_column($services_list, 'parent_id'); $parent_services_list = \fields::find("id IN ('".implode("','", array_unique($parent_id))."') ")->toArray(); $model_sections = \briefBlocksFields::query() ->where("field_id IN ('".str_replace(",","','",$request_order->services)."')") ->order('id') ->execute()->toArray(); $sections = array(); foreach($model_sections as $section){ $sections[$section['field_id']][] = $section; } /*Соединяем все в один массив*/ $sub_list = array(); foreach($services_list as $field){ if(isset($sections[$field['id']])) { $field['fields_data'] =$sections[$field['id']]; $sub_list[$field['parent_id']][] = $field; } } $final_list = array(); foreach($parent_services_list as $list){ $list['children'] = $sub_list[$list['id']]; $final_list[] = $list; } $this->view->disableLevel(\Phalcon\Mvc\View::LEVEL_MAIN_LAYOUT); $this->view->pick( 'brief/addEdit' ); $this->view->setVars([ 'fields' => $final_list, 'section_id' => $id ]); } function deleteAction($id) { } function updateAction($id) { $model = \briefBlocksFields::find("field_id = '$id'"); $this->assets ->addJs('js/BriefBlockConstructor/HtmlConstructor.js') ->addJs('js/brief-block-constructor.js'); $this->view->pick( 'brief_blocks/addEdit' ); $this->view->setVars([ 'data' => $model, 'section_id' => $id ]); } }