2

ここに私のモデルがあります:

function get_name() {
    $this->db->select('first_name');
    $this->db->where('email', $this->session->userdata('email'));
    $query = $this->db->get('users');

    if($query->num_rows() == 1) {
        return true;
    }
}

これは私のコントローラメソッドです:

function show_name() {
    $this->load->model('users_model');
    $this->users_model->get_name();
    }

ビューに名前を渡すメソッド:

function profile(){
    $data['first_name'] = $this->show_name();
    $this->load->view('members/template', $data);
}

ビューに何も表示されません。クエリを確認したところ、正常に動作しました。足りないものはありますか?

4

2 に答える 2

5

コードを更新する必要があります。first_name関数から戻る必要がありますget_name

function get_name() {
        $this->db->select('first_name');
        $this->db->where('email', $this->session->userdata('email'));
        $query = $this->db->get('users');

        if($query->num_rows() == 1) {
            return $query->row()->first_name;
        }
    }

return関数からの値も必要ですshow_name

function show_name() {
    $this->load->model('users_model');
    return $this->users_model->get_name();
    }
于 2012-12-20T12:08:39.233 に答える
1

このコントローラーのようにコードを変更します

function profile(){
    $this->load->model('users_model');
    $name = $this->users_model->get_name();
    if ($name){
      $data['first_name'] = $name;
      $this->load->view('members/template', $data);
    }else{
      ehco "No User Exist";
      exit;
    }
}

モデル

function get_name() {
        $return =false;
        $this->db->select('first_name');
        $this->db->where('email', $this->session->userdata('email'));
        $query = $this->db->get('users');

        if($query->num_rows() == 1) {
            $return = $query->row()->first_name;
        }
        return $return ;
    }
于 2012-12-20T12:30:22.053 に答える