2012-03-27 10 views
0

Hi Ich frage mich nur, ob es möglich ist, mehrere Daten zu speichern, die hasMany hat: und wenn es möglich ist, was ist die Array-Struktur vor der Ausführung $ this-> Model-> saveAll ($ this- > Daten).cakePHP speichern Alle Daten mit hasMany Funktion

Beispiel dafür ist, dass Sie mehrere Beiträge in einer Zeit wie dieser retten werden:

array(
    [Post] => Array 
    (
     [0] => Array 
      (
       [title] => title One 
       [content] => desc One 
      ) 

     [1] => Array 
      (
       [title] => title two 
       [content] => desc two 
      ) 

    ) 

So in der gegebenen Anordnung oben wir alle die Post mit SaveAll aber was, wenn jeder Beitrag haben speichern kann jeder hasMany Kommentar . Wie sollte das Array aussehen, wenn ich unter den Array einfügen muß:

array(
    [Comment] => Array 
    (
     [0] => Array 
      (
       [comment] => 1st Comment for Post One 
      ) 


     [1] => Array 
      (
       [comment] => 2nd Comment for Post One 
      ) 


     [2] => Array 
      (
       [comment] => 1st Comment for Post Two 
      ) 


     [3] => Array 
      (
       [comment] => 2nd Comment for Post Two 
      ) 

    ) 

Wie kann ich die zwei Array kombinieren SaveAll() auszuführen; Vielen Dank im Voraus.^_^

Antwort

2

den Verein Unter der Annahme, für "post viele Kommentare hat" ist "Comments" genannt, würde sich die Daten so etwas wie

array(
    'Post' => array(
     array(
      'title' => 'title1', 
      'content' => 'content1', 
      'Comments' => array(
       array('comment'=>'1st comment for post 1'), 
       array('comment'=>'2nd comment for post 1'), 
      ), 
     array(
      'title' => 'title2', 
      'content' => 'content2', 
      'Comments' => array(
       array('comment'=>'1st comment for post 2'), 
       array('comment'=>'2nd comment for post 2'), 
      ), 
     ), 
    ), 
) 

So speichern Sie so etwas wie verwenden:

$this->Model->saveMany($data, array('deep'=>TRUE)); 

Hinweis dass die "tiefe" Option CakePHP 2.1 erfordert. Ohne sie würden die zugehörigen Kommentar-Datensätze nicht gespeichert.

All dies in http://book.cakephp.org/2.0/en/models/saving-your-data.html

+0

Dank dokumentiert ist, ich werde versuchen, diese –

Verwandte Themen