簡體   English   中英

CodeIgniter錯誤-消息:數組到字符串的轉換

[英]CodeIgniter error- Message: Array to string conversion

我有一個非常簡單的方法,該方法旨在從表單添加驗證規則(如果沒有ID,則不需要密碼,否則不需要-新用戶vs更新用戶)。

public function edit($id = NULL){
  $rules = $this->user_m->rules;
  $id || $rules['password'] .= '|required';
  $this->form_validation->set_rules($rules);
  $this->load->view('_layout_admin_main',$this->data);
}

$rules在模型中設置為(盡管我看不到它的相關性):

public $rules = array(
        'name' => array(
                'field' => 'name',
                'label' => 'Name',
                'rules' => 'trim|required|xss_clean'
        ),
        'email' => array(
                'field' => 'email',
                'label' => 'Email',
                'rules' => 'trim|required|valid_email|callback__unique_email|xss_clean'
        ),
        'password' => array(
                'field' => 'password',
                'label' => 'Password',
                'rules' => 'trim|matches[password_c]'
        ),
        'password_c' => array(
                'field' => 'password_c',
                'label' => 'Password Confirmation',
                'rules' => 'trim|matches[password]'
        ),
        'username' => array(
                'field' => 'username',
                'label' => 'Username',
                'rules' => 'trim|is_unique|xss_clean|required'
        )
    );

錯誤是消息:數組到字符串的轉換...行號:27$id引用特別是在$idNULL情況下引起它。 設置$id ,它很好並且很花哨。 $id絕對不是數組。

我知道這是模糊的,但實際上是這樣。 如果您有任何想法,請問問題,我會貼出您需要的更多內容。

我認為規則連接required的方式存在一個小問題,請嘗試以下方法:

public function edit($id = NULL){
  $rules = $this->user_m->rules;
  $id || $rules['password']['rules'] .= '|required'; // issue was here
  $this->form_validation->set_rules($rules);
  $this->load->view('_layout_admin_main',$this->data);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM