2017-09-23 112 views
1

我嘗試保存一個form_multiselect,但它不保存和值不選擇。我希望你能幫助我。Codeigniter保存form_multiselect到數據庫和set_value

編輯:它的工作現在,但只有一個選擇。我不能選擇更多作爲一個選項。

我試試這個

視圖

<div class="form-group"> 
       <label class="col-sm-2 control-label" for="field-1"> Team</label> 

       <div class="col-sm-4"> 

       <?= form_multiselect('teams_id[]', dd2menu('teams', array('teams_id' => 'title')), set_value('teams_id[]', $item->teams_id), 'class="form-control"') ?> 

       </div> 
</div> 

控制器

public function manage($id = NULL) { 
     $data = array(); 

     if ($id) { 
      $this->{$this->model}->{$this->_primary_key} = $id; 
      $data['item'] = $this->{$this->model}->get(); 
      if (!$data['item']) 
       show_404(); 
     } else { 
      $data['item'] = new Std(); 
     } 


$this->load->library("form_validation"); 
$this->{$this->model}->custom_select = 'users.*, teams.title as teams'; 
$this->{$this->model}->joins = array('teams' => array('teams.teams_id = users.teams_id', 'inner')); 

if ($this->form_validation->run() == FALSE) 
$this->load->view($this->module . '/manage', $data); 

else { 

$this->users_model->teams_id = $this->input->post('teams_id'); 

$this->{$this->model}->save(); 
      redirect('admin/' . $this->module); 
     } 
    } 

型號

class Users_model extends CI_model 
{ 
    public $_table = 'users'; 
    public $_primary_keys = array('user_id'); 
} 

我無法找到的錯誤,因爲它的工作,如果我一個選擇。但我可以選擇更多作爲一個選項。

+0

你可以參考,供大家參考https://stackoverflow.com/questions/16836390/set-multiple-values-as-selected-in-form-multiselect-in-codeigniter此鏈接 –

+0

我看到這個,但它不適合我。我可以將它保存爲單個。但我不能保存2個或更多選項 – Gregor

+0

請發佈完整的代碼控制器和查看文件。 –

回答

0

如果在NikuNi的其他代碼中找到修復程序。

現在它在數據庫中保存1或1,2。

控制器

if(is_array($this->input->post('teams_id'))) { 
      $this->{$this->model}->teams_id = join(",", $this->input->post('teams_id')); 
      } else { 
      $this->{$this->model}->teams_id = $this->input->post('teams_id'); 
      } 

$this->form_validation->set_rules('teams_id[]', 'teams_id', 'trim');