2016-07-20 2 views
-2

Существует мой код:как вставить многомерный массив в базу данных в CodeIgniter

Array 
(
    [head_family] => 1234 
    [house_name] => abc 
    [house_no] => 12 
    [relationship] => son 
    [family_ms_id] => KERTVMPMJF318 
    [member_ms_id] => KERTVMPMJM318 
) 
Array 
(
    [head_family] => varun 
    [house_name] => nila 
    [house_no] => 12 
    [relationship] => son 
    [family_ms_id] => KERTVMPMJF318 
    [member_ms_id] => KERTVMPMJM318 
) 

Контроллер:

$this->Enrollment_model->add_member($appended); 

Модель:

function add_member($appended) { 
     $this->db->insert('members', $appended); 
     return $this->db->insert_id(); 
} 
+0

проверки http://stackoverflow.com/questions/17875706/how-to-create-codeigniter-batch-insert-array – Saty

+0

'$ this-> db-> insert_batch' – splash58

+0

, пожалуйста, сообщите нам, что вы хотите сделать ... –

ответ

0

Использование $this->db->insert_batch();

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

$appended= array(
     array(
      'head_family' => '1234', 
      'house_name' => 'abc', 
      'house_no' => '12' 
     ), array(
      'head_family' => 'varun', 
      'house_name' => 'nila', 
      'house_no' => '12' 
     ) 
    ); 

Ваша модель

  function add_member($appended) { 
      $this->db->insert_batch('members', $appended); 
      } 

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

http://www.codeigniter.com/user_guide/database/query_builder.html#inserting-data


Ваш контроллер $this->Enrollment_model->add_member($appended);

+0

Пожалуйста, прекратите использование ВСЕХ CAPS в своих ответах , –

0

Хороший подход будет вставка в виде JSON строки. Поэтому сначала создать столбец базы данных с типом, как LONGTEXT

Затем используйте это в модели:

function add_member($appended) { 
    $json_array = json_encode($appended); 
     $this->db->insert('members', $json_array); 
     return $this->db->insert_id(); 
} 

И когда выборка из базы данных:

$appended = json_decode($json_array); 
Смежные вопросы