2015-05-20 4 views
1

Я новичок в codeigniter. Если у меня есть модель, как это:генерация результата запроса для строки() в codeigniter:

public function get_data_for_reminder($id) { 
    $this->db->select('nama_user, keluhan, email, addresed_to'); 

    $query = $this->db->get_where('tbl_requestfix', array('id_request' => $id)); 
    return $query->row(); 
} 

И я пытаюсь к нему доступ из контроллера может:

public function reminderIT() { 
    $id = $this->input->post('id'); 
    $data = $this->model_request->get_data_for_reminder($id); 

Как Результаты Создание запросов, спасибо за помощь.

EDIT Я новичок в CI, мой вопрос: допустим, я хочу, чтобы получить «nama_user» в переменную так:

foreach ($data as $d) { 
     $name = $d['nama_user']; 

    } 

    echo json_encode($name); 

Я использую поджигатель, он дает мне пустой , Я думаю, что мой Еогеасп в задаче

+0

Вы отлаживали код за строкой? – Masiorama

+0

Вахат - ваш вопрос? Вы получаете ошибки или нет данных? –

+1

Посмотрите на ответ от @saty .. '$ query-> row();' возвращает объект, если вы хотите вернуть массив из вашего запроса, используйте '$ query-> row_array();' – JimboSlice

ответ

0

контроллер файла с кодом запроса

public function reminderIT() { 
    $id = $this->input->post('id'); 
    $data = $this->model_request->get_data_for_reminder($id); 
    //Generating Query Results like this because you use $query->row(); 
    $data->nama_user; 
    $data->keluhan; 
    $data->email; 
    $data->addresed_to; 
    $info_json = array("nama_user" => $data->nama_user, "keluhan" => $data->keluhan, "email" => $data->email, "addresed_to" => $data->addresed_to); 

    echo json_encode($info_json); 
} 

MODEL.PHP

public function get_data_for_reminder($id) { 
    $this->db->select('nama_user, keluhan, email, addresed_to'); 

    $query = $this->db->get_where('tbl_requestfix', array('id_request' => $id)); 
    return $query->row_array(); 
} 

// Генерация результатов запроса, если использование query- $> row_array(); в файле модели

Controller.php

function reminderIT() { 

    $id = $this->input->post('id'); 
    $data = $this->model_request->get_data_for_reminder($id); 
    foreach($data as $row) 
    { 
    $myArray[] = $row; 
    } 

    echo json_encode($myArray); 
1

Для того, чтобы вернуть массив из модели вызова можно использовать result_array() как

public function get_data_for_reminder($id) { 
    $this->db->select('nama_user, keluhan, email, addresed_to'); 

    $query = $this->db->get_where('tbl_requestfix', array('id_request' => $id)); 
    return $query->result_array();//<---- This'll always return you set of an array 
} 
0

You неправдоподобные данные для выбранного идентификатора это означает, что вы получить один ряд, если вы хотите получить «nama_user», а затем в своем контроллере:

public function reminderIT() { 
    $id = $this->input->post('id'); 
    $data = $this->model_request->get_data_for_reminder($id); 
    $name = $data->nama_user; 
    echo json_encode($name); 
}