スクリプトはデータベースに 3 つのエントリを作成するはずですが、最後のエントリである 1 つしか取得できません。
save() メソッドは 1 回しか実行されていないように見えますが、for ループにあるのと同じように 3 回実行されると想定されていませんか?
public function saveAction()
{
$vars = $this->getRequest()->getPost();
var_dump($vars);
$model = mage::getModel('cevent/cevent');
for($i=0;$i<=2;$i++){
$data = array(
'master_customer_id' => $vars['master_customer_id'][$i],
'customer_id' => 'null',
'email' => $vars['email'][$i],
'firstname' => $vars['firstname'][$i],
'surname' => $vars['surname'][$i],
'address' => $vars['address'][$i],
'city' => $vars['city'][$i]
);
$model->addData($data);
$model->save();
}
}
データベース用フォームからの投稿データ
array
'master_customer_id' =>
array
0 => string '1' (length=1)
1 => string '1' (length=1)
2 => string '1' (length=1)
'firstname' =>
array
0 => string 'q' (length=1)
1 => string 'w' (length=1)
2 => string 'e' (length=1)
'surname' =>
array
0 => string 'q' (length=1)
1 => string 'w' (length=1)
2 => string 'e' (length=1)
'email' =>
array
0 => string 'q' (length=1)
1 => string 'w' (length=1)
2 => string 'e' (length=1)
'address' =>
array
0 => string 'Invercagille' (length=12)
1 => string 'Invercagille' (length=12)
2 => string 'Invercagille' (length=12)
'city' =>
array
0 => string 'q' (length=1)
1 => string 'w' (length=1)
2 => string 'e' (length=1)
1 つのエントリのみを表示する DB
何かを提案するか、他の方法があれば教えてください。ありがとうございました