Как я могу хранить контент в Symfony formbuilder с циклом foreach? - PullRequest
0 голосов
/ 27 марта 2019

Это мой массив $dataRep:

array:4 [▼
  0 => Fields {#7051 ▶}
  1 => Fields {#7328 ▶}
  2 => Fields {#7334 ▶}
  3 => Fields {#7340 ▶}
]

Мне нравится хранить данные с помощью Symfony formbuilder в базе данных:

$dataEntity= new Data::class();

foreach ($dataRep as $dataField) {
    $dataEntity->setContent("something");
}
$this->em->persist($dataEntity);
$this->em->flush();

Но в базе данных хранится только одна запись, а не как ожидается 4 записи.

Ответы [ 2 ]

4 голосов
/ 27 марта 2019

Переместите свой код в цикл, чтобы он выполнялся на каждой итерации:

foreach ($dataRep as $dataField) {
    $dataEntity = new Data();

    $dataEntity->setContent("something");
    $this->em->persist($dataEntity);
}

$this->em->flush();

Примечание: У вас также была синтаксическая ошибка, которую я только что заметил (new Data::class()).

2 голосов
/ 27 марта 2019

Вы сбрасываете содержимое в том же классе данных и затем сохраняете его. Просто изучите весь процесс:

foreach ($dataRep as $dataField) {
    $dataEntity = new Data();
    $dataEntity->setContent("something");
    $this->em->persist($dataEntity);
}
$this->em->flush();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...