在db中持久化数组

I send data via ajax in controller. I create form dynamically in jquery, that's why i have array in my post request. It look likes this

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)

In my controller I want persist it in my db. I do that like:

$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++
}

But it does not working. Please, help me to solve this problem

You are mixed $user as array as as object. Also input $data contain arrays to save, but you do not need foreach for $data itself.

Try change it to:

$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();
}