0

私のアプリにはadminという名前のテーブルがあり、以下のコードを使用して、送信された電子メールとパスワードに基づいてレコードを選択しています。first_name、last_name、admin_roleで「undefinedpropertystdclass」エラーが発生します。トリプルチェックしました。これらは私のテーブルの列の名前です。私は何が間違っているのですか?データベースとセッションライブラリを自動ロードしています。モデルにセッションデータを設定しても大丈夫ですか?

モデルコード:

public function can_sign_in() {
    $this->db->select('admin_id', 'first_name', 'last_name', 'admin_role');
    $this->db->where('admin_email', $this->input->post('admin_email'));
    $this->db->where('admin_password', md5($this->input->post('admin_password')));
    $query = $this->db->get('admin');

    if($query->num_rows() == 1) {
        foreach ($query->result() as $row) {
            $admin[] = array(
                'admin_id' => $row->admin_id,
                'first_name' => $row->first_name,
                'last_name' => $row->last_name,
                'admin_role' => $row->admin_role
            );
          $this->session->set_userdata($admin);
       }
        return true;
    } else {
        return false;
    }
}
4

1 に答える 1

4
 $this->db->select('admin_id', 'first_name', 'last_name', 'admin_role');

select2つのパラメータのみを取ります。選択するフィールドを含む文字列と、文字列をバッククォートでエスケープする必要があるかどうかを示すブール値。

4つのパラメータを渡しています。カンマ区切りのフィールドを持つ文字列を1つだけ渡します。

 $this->db->select('admin_id, first_name, last_name, admin_role');
于 2012-11-15T14:39:32.023 に答える