Я пытаюсь вставить несколько строк данных из полей select2. Некоторые из полей в строках могут иметь несколько вариантов выбора. Мой код работает только с одной строкой данных и одним полем с несколькими вариантами выбора, как показано на рисунке ниже. Но с несколькими строками вставка работает не так, как ожидалось. Пожалуйста, ребята, мне нужна ваша помощь.
public function save_staff()
{
$subjects = count($this->input->post('subject'));
$names = count($this->input->post('names'));
if($names > 0){
for($i=0; $i < $names; $i++){
for($p=0; $p < $subjects; $p++){
$names_array = array(
'names' => $this->input->post('names')[$i],
'sign' => $this->input->post('sign')[$i],
'subject' => $this->input->post('subject')[$p]
);
$this->db->insert($this->table, $names_array);
}
}
Приведенный выше код работает только с одной строкой данных. И данные в базе данных нормализуются, как показано на втором изображении. . Добавляя другую строку данных с одним полем, имеющим несколько вариантов выбора, как первое, мой код не может это обработать. Как я могу настроить код, чтобы получить его правильно? На третьем изображении показан скриншот того, что мой код не может обработать.