php – CodeIgniter批量插入特定列
发布时间:2020-12-13 13:26:07 所属栏目:PHP教程 来源:网络整理
导读:我有一个CodeIgniter应用程序和一个具有以下结构的 MySQL表: Table shortlisted_candidatesid int PRIMARY KEY AUTO INCREMENT,candidate_no int NOT NULL,written_marks int,viva_marks int 我想在这个表中执行insert_batch,但是数据只会插入id和candidate
|
我有一个CodeIgniter应用程序和一个具有以下结构的
MySQL表:
Table shortlisted_candidates id int PRIMARY KEY AUTO INCREMENT,candidate_no int NOT NULL,written_marks int,viva_marks int 我想在这个表中执行insert_batch,但是数据只会插入id和candidate_no列中. 我知道Codeigniter Active Records Class为批量插入提供了$this-> db-> insert_batch()函数,但它实际上是在整个表中插入数据,而我希望数据只插入到特定的列中.我怎样才能在CodeIgniter中实现这一目标? 请注意,id是AUTO INCREMENT,PRIMARY KEY列. 我的控制器代码: class Shortlisted_candidates extends MY_Controller
{
function __construct()
{
parent::__construct();
$this->load->database();
$this->load->model('Shortlisted_candidate');
$this->load->helper('url');
$this->load->helper('html');
$this->load->helper('form');
$this->output->enable_profiler(false);
}
function add(){
$data = array();
if ($_POST) {
$data['candidate_no'] = $this->input->post('candidate_no');
$this->Shortlisted_candidate->add_candidate_to_shortlist($data);
$this->session->set_flashdata('message','Data Successfully Added');
redirect('shortlisted_candidates/add');
}
}
}
我的型号代码: class Shortlisted_candidate extends CI_Model
{
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function add_candidate_to_shortlist($data){
//Following code inserts data in ALL COLUMNS
$this->db->insert_batch('shortlisted_candidates',$data);
//How to write active record batch insert query for inserting data in only `id` and `candidate_no` column?
}
}
你需要修改以下控制器功能.
function add(){
$data = array();
if ($_POST) {
$data[0]['candidate_no'] = $this->input->post('candidate_no');
$this->Shortlisted_candidate->add_candidate_to_shortlist($data);
$this->session->set_flashdata('message','Data Successfully Added');
redirect('shortlisted_candidates/add');
}
}
除此之外,您需要修改表模式,以便设置其他字段的默认值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
