Вставить значения флажков в базу данных с назначенным полем

Я вставляю значения как ниже из моей формы

<span class="field"><input type="text" name="item_name" id="item_name" class="input-small" value="<?php echo set_value('item_name'); ?>" />

<span class="field"><input type="checkbox" name="tag_id[]" value="<?php echo $value['tag_id']; ?>" /></span>

для первого поля я хочу вставить в следующую item_table

+----------+--------------+
| item_id  |   item_name  |
+-------------+-----------+
| 1        | A            |
| 2        | B            |
| 3        | C            |
| 4        | D            |
| 5        | E            |
+----------+--------------+

для второго поля я хочу вставить значения флажков в следующую таблицу следующим образом.

+----------+--------------+
| item_id  |     tag_id  |
+-------------+-----------+
| 1        | 1            |
| 1        | 2            |
| 2        | 1            |
| 2        | 2            |
| 2        | 3            |
+----------+--------------+

В моей модели функции

$item_name = $this->input->post('item_name');

$data_to_store = array(
'item_name' => $item_name
);
$insert = $this->db->insert('item_table', $data_to_store);
return $insert;

Как вставить значения флажков во вторую таблицу в соответствии с идентификатором товара?

0

Решение

Я думаю, что вы можете использовать 2 метода.

function tableItem($data)
{
$item_name = $this->input->post('item_name');

$data_to_store = array(
'item_name' => $item_name
);
$this->db->insert('item_table', $data_to_store);
$id = $this->db->insert_id();

$this->tableTag($moreData,$id);
}

function tableTag($theData,$itemID)
{
foreach($theData as $d)
{
$data_to_store = array(
'tag_id' => $d,
'item_id' => $itemID
);
$this->db->insert('tag_table', $data_to_store);
}
}

Или вы можете объединить оба метода в одном.

Не забудьте добавить обработчики ошибок для вставок.

0

Другие решения

Других решений пока нет …