2013-02-18 18 views
21

Có thể sử dụng nhiều bản ghi INSERT trong Bản ghi hoạt động CodeIgniter mà không cần, foreach và vv?CodeIgniter: INSERT nhiều bản ghi không có chu kỳ

mã hiện tại của tôi:

foreach($tags as $tag) { 
    $tag = trim($tag); 
    $data = array(
     'topic_id' => $topic_id, 
     'user_id' => $user_id, 
     'text'  => $tag 
    ); 
    $this->db->insert('topic_tags', $data); 
} 

Trả lời

56

CodeIgniter kỷ lục hoạt động có chức năng insert_batch tôi nghĩ rằng đó là những gì bạn cần

$data = array(
    array(
     'title' => 'My title' , 
     'name' => 'My Name' , 
     'date' => 'My date' 
    ), 
    array(
     'title' => 'Another title' , 
     'name' => 'Another Name' , 
     'date' => 'Another date' 
    ) 
); 

$this->db->insert_batch('mytable', $data); 

// Produces: INSERT INTO mytable (title, name, date) VALUES ('My title', 'My name', 'My date'), ('Another title', 'Another name', 'Another date') 

trình cho cả CodeIgniter 3.x và CodeIgniter 2.2.6

LIÊN KẾT CẬP NHẬT

insert_batch() for Codeigniter 3.x

insert_batch() for Codeigniter 2.x

+0

Liệu tác phẩm này với phiên bản không? Nếu hồ sơ tồn tại -> cập nhật nó. Nếu nó không tồn tại -> chèn nó. Tất nhiên tôi sẽ thêm id vào các mảng bên trong. –