Доброго времени суток. Продолжаю изучение основ php!
В решении задачи пришел к необходимости перебрать два массива ... лучше на примере объяснить:
Суть вопроса такова -
в модель попадает два массива, один с id ($data_id) другой с номерами телефонов ($data_numbers).
массивы индексные, значение в массиве $data_id[0] соответствует значению в массиве ($data_numbers[0]).
Нужно в БД записать в соответствующие таблицы номера телефона согласно их id
(ну вроде бы понятно изложил.)
Ничего лучшего не придумал как перебирать эти массиву двумя вложенными циклами foreach присваивая их значения переменным и создавая каждый раз запрос к БД вот код:
foreach ($data_id as $id){
foreach ($data_numbers as $number){
$db = Db::getConnection();
$sql = 'UPDATE phone_numbers SET phone_number = :number '
. 'WHERE id = :id';
$result = $db->prepare($sql);
$result->bindParam(':number', $number, PDO::PARAM_INT);
$result->bindParam(':id', $id, PDO::PARAM_INT);
return $result->execute();
}
}
Но затея провалилась (как Вы понимаете) записывается только первый элемент в БД остальные игнорируются.
Как можно воплотить в жизнь такую затею?
Спасибо.