2017-08-29 13 views
0

cake phpを使用してテーブルに複数のエントリを保存するにはどうすればよいですか?これまでに書いたコードはここにあります。ケーキを使用してテーブルに複数のエントリを保存する方法

$err_counter = 1; 
$data3 = array(); 
foreach ($data2['MembershipTime'] as $k => $values) 
    { 
      $batch_id = $lastid; 
      $day = $values['day']; 
      $skip = (!empty($values['skip'])) ? $values['skip'] : ""; 
      $h1 = (!empty($values['h1'])) ? $values['h1'] : "00"; 
      $m1 = (!empty($values['m1'])) ? $values['m1'] : "00"; 
      $h2 = (!empty($values['h2'])) ? $values['h2'] : "00"; 
      $m2 = (!empty($values['m2'])) ? $values['m2'] : "00"; 

      $data3['BatchesTimes']['batch_id'] = $batch_id; 
      $data3['BatchesTimes']['day'] = $day; 
      $data3['BatchesTimes']['skip'] = $skip; 
      $data3['BatchesTimes']['h1'] = $h1; 
      $data3['BatchesTimes']['m1'] = $m1; 
      $data3['BatchesTimes']['h2'] = $h2; 

      $obj = $this->BatchesTimes->save($data3); 
    } 

答えて

0

ここでは、自分の配列の例を説明します。配列の名前に従って変数を変更します。

$this->ModelName->saveAll($data3); 

上記の解決策が機能しない場合の手段は解決の例で説明した以下のソリューションを試してみてください。

あなたの場合、$ dataMulti = $ data3; 例:

$dataMulti = array(
     array(
      'Info' => 
      array(
       'note' => "This is note 1", 
       'delete_flag' => "f" 
      ) 
     ), 
     array(
      'Info' => 
      array(
       'note' => "This is note 2", 
       'delete_flag' => "f" 
      ) 
     ), 
     array(
      'Info' => 
      array(
       'note' => "This is note 3", 
       'delete_flag' => "f" 
      ) 
     ), 
    ); 

保存、多くのレコードが時間に一度に我々はbelowsの2つの方法があります。

1. $infoModel->saveAll($dataMulti); 

または

2. $infoModel->saveMany($dataMulti); 

は、それが動作願っています。

関連する問題