2010-12-22 67 views
0

我寫它看起來像這樣的自定義視圖: http://img405.imageshack.us/i/taula.jpg/CakePHP中保存多個數據

這是我沒有控制器功能保存尚未實現的數據: http://pastebin.com/cU5rprFB

這是我的觀點: http://pastebin.com/4bYLPp4z

我以爲寫這樣的輸入是這樣的:

<td> 
<input name="data[Linea][0][proyecto_id]" type="hidden" value=" <?php echo $proyecto['Proyecto']['id'] ?>" /> 
<input name="data[Linea][0][hito_id]" type="hidden" value=" <?php echo $proyecto['Hito']['id'] ?>" /> 
<input name="data[Linea][0][tarea_id]" type="hidden" value=" <?php echo $proyecto['Tarea']['id'] ?>" /> 
<input name="data[Linea][0][total_horas]" type="text" id="LineaTotalHotas" value="" > 
</td> 

就足夠了......但事實並非如此。在debug_kit中,我發現隱藏的數據正常,但輸入的數據丟失了...

有沒有人有一個例子或什麼來幫助我?


UPDATE:我想類似的東西在我的控制器:

function addhoras() { 
    if (!empty($this->data)) { 
     xdebug_break(); 
     foreach($this->data['Linea'] as $l) { 
      if (($l['total_horas'] != 0) && ($l['total_horas']!=NULL)) { 
       $this->Linea->create(); 
       if ($this->Linea->save($l)) { 

       } else { 
        $this->Session->setFlash(__('Arazonbat eon dek', true)); 
       } 
      } 
     } 
     //$this->redirect(array('action' => 'addhoras')); 
    } 

但我發現了在if ($this->Linea->save($l))線setflash ...所以它不保存任何數據..這是var_dump($l)

array 
'proyecto_id' => string ' 1' (length=2) 

'hito_id' => string ' 3' (length=2) 

'usuario_id' => string ' 1' (length=2) 

'fecha' => string '2011-01-01 ' (length=11) 

'total_horas' => string '33' (length=2) 

回答

1

確保您構建正確的陣列http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM

如果您要保存相關數據,請記住使用saveAll而不是保存。

+++++++++++++++++

TENGO拉corazonada德闕hablas EN卡斯特拉諾,ASI闕褐VA連接卡斯蒂利亞ŸMEJOR explicado:

Asegúrate德que el array que le pasas almétodo「save」tiene la estructuratípicade Cake。埃斯托SERIA算法中的a-Si:

array 
(
    [Modelo] => array 
    (
     [celda] => valor 
    ) 
) 

Ÿrecuerda闕SI quieres和保存DATOS relacionados(雅肖恩的hasManyØHasAndBelongsToMany ..)debes utilizar 「白水」 恩盧格德 「保存」

http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM

+1

安永! gracias por tu respuesta – 2010-12-23 07:29:57