2012-05-01 10 views
2

複数の行を保存する場合は、私がuser_imagesテーブルに複数の行を保存するつもりで.. UserImageための図で..以下であるCakePHPは私は2つのモデル「ユーザー」と「UserImage」..を使用しています

echo $this->Form->input('UserImage.0.photo'); 
echo $this->Form->input('UserImage.1.photo'); 
echo $this->Form->input('user_id'); 
echo $this->Form->end(__('Submit')); 

次に、どのように複数の行を保存するにCakePHPの..

+1

誰かが助ける前に、おそらくモデルを投稿する必要があります。また、何を試しましたか? –

答えて

3

SAVEALL()と言います。 また、レコードごとに関連フィールド(user_id)を指定する必要があります。あなたが新しいレコードとして各画像を挿入するには、この1 saveMany()を使用することができ

$this->UserImage->saveAll($this->request->data); 
0

参照ドキュメント方法があるが、あなたが関与してより多くのモデルを持っている場合は、各フィールドのモデルを指定する必要があり Cake PHP Saving Your Data

+0

いいえ、それを保存していません.. –

+0

ここにあなたのコードを掲載 – Dgo

+0

@Dilip Godhaniあなたのリンクは機能していません。 – Meer

0

echo $this->Form->input('UserImage.0.user_id'); 
echo $this->Form->input('UserImage.1.user_id'); 

プラス複数のレコードや複数のモデルを保存するためにこれを使用します。

はこれを試してみてください。私は私の問題を解決するために同じものを使用しました。すべてのものはpaul.agoさんの回答で大丈夫に見えますが、ただのCakePHP 2.xののドキュメントからsaveMany()

$this->UserImage->saveMany($this->request->data); 
0

にSAVEALLを()変更:単一のモデル、$データニーズの複数のレコードを保存するための

私たちは記事のキーを含む数値インデックスの代わりに、通常の$データを渡している

$data = array(
     array('title' => 'title 1'), 
     array('title' => 'title 2'), 
    ); 
$this->saveMany($data); 

注:このようなレコードの数値添字の配列であることを。同じモデルの複数のレコードを保存する場合、レコード配列はモデルキーなしで数値的にインデックス付けするだけです。

次の形式でデータを持つことも可能です:

$data = array(
     array('Article' => array('title' => 'title 1')), 
     array('Article' => array('title' => 'title 2')), 
    ); 
    $this->saveMany($data); 

私は最初のものを試してみましたが、それがとてもうまくいきました。

HTH。

関連する問題