我通过控制器中的ajax发送数据。我在jquery中动态创建表单,这就是我的帖子请求中有数组的原因。它看起来像这样
array (size=3)
'login' =>
array (size=2)
0 => string 'trololo' (length=7)
1 => string 'trololo2' (length=8)
'pass' =>
array (size=2)
0 => string 'trololo' (length=7)
1 => string 'trololo2' (length=8)
'email' =>
array (size=2)
0 => string 'trololo@gmail.com' (length=17)
1 => string 'trololo@gmail.com2' (length=18)
在我的控制器中,我希望将其保留在我的数据库中。我这样做:
$data = $request->request->all();
$i = 0;
foreach($data as $ud)
{
$user[] = new User();
$user->setLogin($ud['login[$i]']);
$user->setPass($ud['pass[$i]']);
$user->setEmail($ud['email[$i]']);
$em->persit($user[$i])
$em->flush();
$em->clear();
$i++
}
但它不起作用。请帮我解决这个问题
答案 0 :(得分:0)
您将$ user与数组混合为对象。另外输入$ data包含要保存的数组,但是你不需要foreach for $ data。
尝试将其更改为:
$data = $request->request->all();
foreach($data['login'] as $i => $login)
{
$user = new User();
$user->setLogin($login);
$user->setPass($data['pass'][$i]);
$user->setEmail($data['email'][$i]);
$em->persit($user);
$em->flush();
$em->clear();
}