5

codeigniter アクティブ レコード構文を使用して、あるテーブルから別のテーブルにデータを挿入するための構文は何ですか? 通常の mysqli クエリを試してみましたが、動作しますが、一貫性を保つために CodeIgniter Active Record 構文を使用したいと考えています。

これらの CodeIgniter Active Record クエリを試してみましたが、まだうまくいきません:

function insert_into()  
{    
    $this->db->insert('table1');
    $this->db->set('to_column');  
    $this->db->select('from_column');
    $this->db->from('table2');
}
4

2 に答える 2

14

これを達成するための最善の方法は、 get メソッドを使用して 1 つのテーブルから必要なデータをフェッチし、次にクエリ結果グラバー関数の 1 つ ( result() など) を使用して、insert() を使用して行を 1 つずつ反復処理することだと思います。方法。

これをコードに入れる:

$query = $this->db->get('table1');
foreach ($query->result() as $row) {
      $this->db->insert('table2',$row);
}

もちろん、table1 は table2 とまったく同じ構造 (各列の同じ列名とデータ型) を持っていると思います。そうでない場合は、割り当てを使用してあるテーブルから別のテーブルに列をマップする必要がありますが、その場合、コードはより広くなります。

于 2013-01-27T17:50:19.980 に答える