सबसे पहले, पहली तालिका की सामग्री प्राप्त करें tableFrom
और परिणामों पर पुनरावृति करके उन्हें tableTo
. में सम्मिलित करें . आप इस कोड का उपयोग अपने मॉडल में कर सकते हैं। मत भूलना $this->load->database();
आपके कंट्रोलर में या फंक्शन में।
function insert_into() {
$q = $this->db->get('tableFrom')->result(); // get first table
foreach($q as $r) { // loop over results
$this->db->insert('tableTo', $r); // insert each row to another table
}
}
@संपादित करें
अपने नियंत्रक के लिए इस कोड को आजमाएं:
<?php
class fdm extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->library(array('table','form_validation'));
$this->load->helper('url'); // load model
$this->load->model('cbc','',TRUE);
}
function index() {
$this->load->database();
$this->load->model('cbc','',TRUE);
$this->cbc->insert_into();
}
}
कुंजी 1 के लिए डुप्लिकेट प्रविष्टि के साथ त्रुटि को ठीक करने के लिए आप तालिका दो से सामग्री आयात करने से पहले पहली तालिका को छोटा करना चाह सकते हैं। आप इसके साथ ऐसा कर सकते हैं:
function insert_into() {
$this->db->truncate('tableTo');
$q = $this->db->get('tableFrom')->result(); // get first table
foreach($q as $r) { // loop over results
$this->db->insert('tableTo', $r); // insert each row to another table
}
}
या आप नया डालने के बजाय पंक्तियों को अपडेट कर सकते हैं:
function insert_into() {
$q = $this->db->get('tableFrom')->result(); // get first table
foreach($q as $r) { // loop over results
$this->db->update('tableTo', $r, array('id' => $r->id)); // insert each row to another table
}
}