Cakephp 3, как сохранить индивидуальную дату в базе данных - PullRequest
5 голосов
/ 27 сентября 2019

У меня есть форма запроса на отпуск. Если у пользователя уходит 2/3 дня отпуска, тогда дата отпуска должна быть сохранена в базе данных отдельно. Я подал заявку на 2 дня, предположим, что я выбрал дату 20-10-2019 и 21-10-2019 для запроса на отпуск.Но в базе данных хранится только одна запись.date_form и date_to - мои имена столбцов.Я хочу разделить даты.Пример: date_from: 20-10-2019 date_to: 20-10-2019 и date_from: 21-10-2019 date_to: 21-10-2019.Но теперь он сохранил дату_от: 20-10-2019 дата_д: 21-10-2019.Может ли кто-нибудь помочь мне в этом?

Я попробовал код:

            else if($leaveRequest->no_of_days > 1 && $leaveRequest->no_of_days < 7)
            {
            for($i = 0 ; $i < $leaveRequest->no_of_days; $i++)
            {
                $day = $i. ' day';
                $var = $this->EmpLeaves->newEntity();

                if($i == 0)
                {
                $var->date_from = date('Y-m-d', strtotime($this->request->getData(['date_from'])));
                $var->date_to = date('Y-m-d', strtotime($this->request->getData(['date_from'])));
                }

                else
                {
                $var->date_from = date('Y-m-d', strtotime($day,strtotime($this->request->getData(['date_from']))));
                $var->date_to = date('Y-m-d', strtotime($day,strtotime($this->request->getData(['date_from']))));
                }

                $var->employee_id = $this->Auth->user('id');
                $var->employee_name = $this->request->getData(['employee_name']);
                $var->reporting_managerId = $this->request->getData(['reporting_managerId']);
                $var->leave_type = $this->request->getData(['leave_type']);
                // $var->no_of_days = $this->request->getData(['no_of_days']);
                 $var->no_of_days = 1;
                $var->half_day = $this->request->getData(['half_day']);
                $var->leave_reason = $this->request->getData(['leave_reason']);
                $var->reliever = $this->request->getData(['reliever']);
                $valueSaved = $this->EmpLeaves->save($var);
            }

            if($valueSaved)
            {
                //newcode for sending email
                 $applierEmail = $this->Auth->user('office_email');
                $applierName  = $this->Auth->user('first_name') . ' ' . $this->Auth->user('last_name');

            }
            else
            {
                $this->Flash->error(__('Please check the message'));
            }
        }
...