insertar varias filas en un saveall en cakephp
yo soy novato en Pastel y wodering cómo insertar varias filas en una sola saveall función, tengo esta tabla,
CREATE TABLE IF NOT EXISTS `dates` (
`date` varchar(10) COLLATE utf8_unicode_ci NOT NULL
)
lo que estoy tratando de hacer es permitir al usuario seleccionar la fecha de inicio y fecha de finalización usando JQuery calendario, una vez que presentar todas las fechas entre este rango se guardan en la base de datos, ya tengo la matriz de fechas, por ejemplo:
`array(
(int) 0 => '5/8/2013',
(int) 1 => '6/8/2013',
(int) 2 => '7/8/2013',
(int) 3 => '8/8/2013',
)
` entonces mi controlador se parece a esto:
public function index(){
if ($this->request->is('post')) {
$this->Date->create();
$data = array();
$data['dates']=array();
$startDate = $this->request->data['Date']['from'];
$endDate = $this->request->data['Date']['to'];
$datesBlocked = $this->loopDates($this->request->data['Date']['from'],$this->request->data['Date']['to']);
$data['dates'][] = $this->request->data['Blockdate']['from'];
$data['dates'][] = $this->request->data['Blockdate']['to'];
/*foreach($datesBlocked as $data) {
$data['dates'][] = $data;
}*/
if($this->Date->saveAll($data)) {
$this->Session->setFlash(__('done'));
if ($this->Session->read('UserAuth.User.user_group_id') == 1) {
// $this->redirect("/manages");
}
}
}
public function loopDates($from,$to){
$blockdates = array();
$start = strtotime($from);
$end = strtotime($to);
debug($start);
$counter = 0;
for($t=$start;$t<=$end;$t+=86400) {
$d = getdate($t);
$blockdates[$counter++] = $d['mday'].'/'.$d['mon'].'/'.$d['year'];
}
debug($blockdates);
return $blockdates;
}
problema fue que no se puede entrar foreach trabajo, si yo elimine el foreach, tengo error dijo Ilegal string offset 'fechas' , así que me comentó que y tratar de que sólo añade la fecha de inicio y fecha de finalización de la matriz para ver si funciona, luego tuve otro error, dijo.
`array(
'dates' => array(
(int) 0 => '08/05/2013',
(int) 1 => '09/05/2013'
)
) ` Aviso (8): Matriz de conversión de cadena [CORE\Cake\Model\Datasource\DboSource.php línea 1005]Código
porque yo estoy tratando de insertar 2 valores en un campo...sé que debe ser algo como
`array(
'dates' => array( (int) 0 => '08/05/2013',
)
'dates' => array((int) 1 => '09/05/2013'
))
`pero no puedo averiguar cómo hacerlo. Cualquier ayuda sería mucho aprecio!!!!