Codeigniter 2.0如何在两个表中插入记录

时间:2015-10-14 15:07:06

标签: php codeigniter

我有这两个tables('users','users2')我想在我的两个表中插入数据。什么是最好的方法?使用数组?

我的模型代码是:

function user_add($option){
      $this->db->set('userid',$option['user_id']);
      $this->db->set('email', $option['email']);
      $this->db->set('password', $option['pw']);
      $this->db->set('created', 'NOW()', false);
      $this->db->insert('users');
      //users2 tables
      $this->db->set('user_id',$option['user_id']);
      $this->db->insert('users2');
  }

2 个答案:

答案 0 :(得分:3)

你可以这样做,或通过数组

$array = array(
    'userid' => $option['user_id'],
    'email' => $option['email'],
    'password' => $option['password'],
    'created' => time(),
);

$this->db->set($array);
$this->db->insert('users');

$this->db->set($array);
$this->db->insert('users2');

使用该数组,您可以根据需要重复使用该变量,包括删除或添加键的数组操作。

答案 1 :(得分:1)

在控制器中创建 2个功能

  1. for insert table 01
  2. 用于插入表02
  3.   

    在一个模型函数中使用两种方法

    是不太好的做法

    在控制器中

    public function method_name
    {
        $this->Model_name->user_add_table1($option);
        $this->Model_name->user_add_table2($option);
    }
    

    在模型中

    function user_add_table1($option){
        $this->db->set('userid',$option['user_id']);
        $this->db->set('email', $option['email']);
        $this->db->set('password', $option['pw']);
        $this->db->set('created', 'NOW()', false);
        $this->db->insert('users');
    }
    function user_add_table2($option){
        $this->db->set('userid',$option['user_id']);
        $this->db->set('email', $option['email']);
        $this->db->set('password', $option['pw']);
        $this->db->set('created', 'NOW()', false);
        $this->db->insert('users');
    }