Я должен получить диапазон дат для начала & даты окончания, выбранные пользователем, проверьте, что дата не распространяется на выходные и/или праздничные дни и вставлять в базу данных за каждую действительную дату до даты окончания.Сохранение нескольких записей, созданных с нескольких дат в CakePHP 2.x
Ниже мой код:
$aryRange=array();
$istartTime=mktime(1,0,0,substr($startTime,5,2), substr($startTime,8,2),substr($startTime,0,4));
$iendTime=mktime(1,0,0,substr($endTime,5,2), substr($endTime,8,2),substr($endTime,0,4));
if ($iendTime>=$istartTime)
{
array_push($aryRange,date('Y-m-d',$istartTime)); // first entry
while ($istartTime<$iendTime)
{
$istartTime+=86400; // add 24 hours
array_push($aryRange,date('Y-m-d',$istartTime));
}
}
$aryRange = array_values($aryRange);
$dates = array($aryRange);
$fdate = strtotime($startTime);
$day = date("N",$fdate);
$holidays = $this->Leave->PublicHoliday->find ('all', array('fields'=>array('PublicHoliday.SetDate')));
foreach($dates as $key => $value)
{
if ($day == 7 || $day == 6)
{
unset ($dates[$k]);
continue;
}
if (in_array($value, $holidays))
{
unset ($dates[$k]);
continue;
}
}
Я не знаю, как я буду назначить дату начала и дату окончания для каждой записи и сохранения данных. Я думаю, что это можно сделать в цикле foreach
.
$this->request->data['Leave']['event_date'] = $value[0];
$this->request->data['Leave']['event_stop_time'] = $value[0];
$this->Leave->save($this->request->data);
Могу ли я сохранить построчно, как петля foreach
выполняет? Любая помощь по сохранению данных очень ценится.
NB: event_date
будет похож на event_stop_time
на один день.
Какую версию тортов вы используете? Я не могу дать вам отличный ответ без этого. – chrisShick
я использую торт 2.5x –