我正在尝试向我的事件/添加添加重复功能。
因此,如果我从星期一到星期五(甚至更多天)有相同的事件,用户可以在一次添加中添加所有内容,而不是一个一个添加。
我在 Events/add.ctp 中添加了一个输入字段,即:
$this->Form->input('repeat', array('type' => 'number'));
在 beforeSave() 中的 do-while 循环中比较它
if(!empty($this->data[$this->alias]['repeat'])) {
$repeat = $this->data['Event']['repeat'];
$i = 0;
do {
$start = strtotime($this->data[$this->alias]['start'] . ' +1 day');
$end = strtotime($this->data[$this->alias]['end'] . ' +1 day');
$this->data[$this->alias]['start'] = date('Y-m-d H:i:s', $start);
$this->data[$this->alias]['end'] = date('Y-m-d H:i:s', $end);
$this->create();
$this->save($this->data);
//i think here's the problem... this shouldn't be done here right?
$i++;
} while ($repeat >= $i);
}
我对如何实现这一点没有任何想法。我知道在添加操作之后我必须使用 beforeSave 来处理数据,但显然我无法在保存之前保存数据......任何提示?