В моем проекте Symfony я хочу обновить сразу несколько записей базы данных.Обновление нескольких записей в Symfony
Начальная точка это массив дат и значений Я хочу, чтобы обновить существующие записи:
$updates = Array ([0] => Array ([date] => 2007 [value] => 5)
...
[4] =>Array ([date] => 2010 [value] => 8));
Я получаю $ дату и $ значение с Еогеасп:
foreach($updates AS $update)
{
$date = $update['date'];
$value = $update['value'];
}
Моя проблема заключается в получите значения [date] и [value] из $ updates, чтобы правильно обновить записи. По какой-то причине только последний массив из $ обновлений принимается при обновлении всех таких записей:
foreach($repo->customQuery($parameter1,..., $parameter5) AS $obj)
{
$obj->setThis($date)
->setThat($value);
$em->persist($obj);
}
$em->flush();
Что мне не хватает? Спасибо за любую помощь!
Это не решает проблему :(. Но только для моего понимания, используя два Foreach петли так, как описано должно работать, не так ли? –
Две петли должны работать, но вы по-прежнему нужен упорствовать. – Lighthart
Спасибо для вашего последующего действия, но, как было ясно из моего отредактированного вопроса, проблема в том, что для обновления всех записей используется только последний массив из $ updates. Когда I print_r ($ date) во втором цикле foreach, он показывает все даты четыре раза, поэтому я предполагаю, что причиной является две комбинации foreach. Есть ли другой способ доступа ко всем значениям в массиве, чем использовать foreach? Я попробовал array_map(), но не смог понять это правильно. –