我想添加多个具有多个重复表单的行,即时加入模型。
1#我添加玩家,玩家可以拥有1或N个工作。
2#创建播放器时,您可以在同一表单中添加1个或多个作业。默认情况下,我只为1个作业显示1个输入,但如果您单击该按钮,则会显示一个新输入以填充该新作业的新作业。
我的观点:
Name<input type="text" name="name" value="<?php echo set_value('name'); ?>" />
Jobs<input type="text" name="jobs[0]" value="<?php echo set_value('jobs[0]'); ?>" />
<button id="add_job">Add new job</button>
<!-- if button click, jquery add new input -->
Jobs 2<input type="text" name="jobs[1]" value="<?php echo set_value('jobs[1]'); ?>" />
我的控制器:
$this->form_validation->set_rules('name', 'name', 'trim|required|min_length[3]|max_length[64]');
$this->form_validation->set_rules('jobs[]', 'job', 'trim|required|min_length[3]|max_length[64]');
...
$this->players_model->create_player($img['file_name'])
我的模特:
function create_player($pic)
{
$new_member_insert_data = array(
'name' => $this->input->post('name'),
'pic' => $pic
);
$insert = $this->db->insert('players', $new_member_insert_data);
$id_player = $this->db->insert_id();
// problem starts here
$new_member_insert_jobs = array();
//for() {
$new_member_insert_jobs [] = array(
'id_player' => $id_player,
'job' => $this->input->post('jobs')[]
);
//}
$this->db->insert_batch( 'estudios', $new_member_insert_jobs );
答案 0 :(得分:0)
你可以尝试代码
$name = $this->input->post('name');
$job= $this->input->post('job');
$count =count($this->input->post('job')); //number job
$data2 =array();
for($i=0; $i<$count; $i++)
{
$data2[] = array(
'name' => $name,
'job' => $job[$i],
);
}
$this->db->insert_batch('estudios', $data2);