如何在codeigniter中的模型参数的数组中传递NOW()函数?

时间:2016-09-28 13:44:25

标签: php codeigniter

这是我的数组,用于将数据插入到数据库中,表名为borrow_userNOW()用于avt_date表中的borrow_user字段名称。

如何在codeigniter中为模型参数传递NOW()函数?

$data = array(
                  'user_name'=>$name,user_name is a field name in table 



             'user_father_name'=>$this->input->post('father_name'),//user_father is a field name in table 


            'user_dob'=>$this->input->post('DOB'), //user_dob is a field name in table 


            'user_email'=>$this->input->post('email'), // user_email is a field name in table 


            'user_pass'=>md5($pass),  //user_pass is a field name in table 



            'user_address'=>$this->input->post('address'),



            'phn'=>$this->input->post('phn'),


            'user_type'=>2,

            'avt_date'=>NOW()); //now() function is not working given an error .



        $this->load->model('login_user');


        $regis_id=$this->login_user->regis_b($data);
        //model class code    

public function regis_b($data)
{

    $arr=array('user_email'=>$data['user_email']);


   $this->db->insert('borrow_user', $data);


    $sel_id=$this->db->select('id')
                         ->from('borrow_user')
                          ->where($arr)
                           ->get();


    if($sel_id->num_rows())
    {


        return $sel_id->row()->id;


     }else{


        return FALSE;
    }


}

1 个答案:

答案 0 :(得分:0)

您不能通过这样的活动记录插入函数传递SQL函数。

但是有两种方法可以获得相同的结果:

<强> 1。在PHP中设置时间戳

'avt_date'=>date('Y-m-d H:i:s')

<强> 2。在插入语句

之前设置它

您需要从$ data数组中删除avt_date。 Insert将使用传入的数据对先前的set语句进行分组,以进行一次完整查询。

$this->db->set('avt_date', 'NOW()', FALSE);
$this->db->insert('borrow_user', $data);