[請益] CodeIgniter Restful 查詢回傳...

作者: swallowcc (guest)   2015-10-11 00:06:21
大家好, 初學 CI,剛剛莫名其妙的撞了牆 @@
所以上來請問前輩們一個 CI Restful 的問題~
現在呼叫某一兩個 api 回傳的會拿到
{"conn_id":{},"result_id":{},"result_array":[],"result_object":[],
"custom_result_object":[],"current_row":0,"num_rows":null,"row_data":null}
這樣的 json string, 不過其他的query都是正常的...
回傳錯誤的CODE :
//API
public function users_get() {
$email = $this->get('email');
$this->load->model('user_model');
$dataset = $this->user_model->singleUserData($email);
$this->response($dataset, REST_Controller::HTTP_OK);
}
//MODEL
public function singleUserData($email) {
$db1 = $this->load->database('settings', TRUE);
//$sql = $this->config->item('querySingleUserData', 'sql');
$sql = "SELECT * FROM USERS WHERE EMAIL = ?";
return $db1->query($sql, array($email));
}
正常回傳的CODE :
//API
public function privilege_get() {
$email = $this->get('email');
$this->load->model('user_model');
$dataset = $this->user_model->getPrivilege($email);
$this->response($dataset, REST_Controller::HTTP_OK);
}
//MODEL
public function getPrivilege($email) {
$db1 = $this->load->database('settings', TRUE);
//$sql = $this->config->item('getUserPrivilege', 'sql');
$sql = "SELECT * FROM PRIVILEGE WHERE EMAIL = ?";
return $db1->query($sql, array($email))->result();
}
不曉得有沒有人遇過這樣的問題 @@>
...
然後另外多問兩個問題 XD
1, 想請問一下想要自動載入兩個 db 的話要怎麼寫...
感覺每個 model method 都要 load 一次有點麻煩 ._.>
而且在建構子也只能指定一個 default 的 db... 還是我搞錯寫法 XD"
2, 想要把 sql 檔案都集中在一個檔案, 然後要用的時候去讀sql名字載入,
就像是 mark 掉的部分, 把 sql 檔案丟在 config folder裡面, 再去讀出來,
不曉得這樣的寫法是不是錯誤,以及有沒有其他更好的寫法 ^^
CI新手上路,還請多指教 ^^>
謝謝
作者: fri13 (思考跳tone記性差)   2015-10-11 00:26:00
你要回傳的應該是result 而不是query問題1可以用autoload 或是http://goo.gl/FyMZSU問題二我個人不建議那樣的寫法 基本上就是封裝在model裡看來問題一我看錯XD 不過你可以在_construct設定要連那個https://github.com/appleboy/Codeigniter-Base-Model吃太飽結果沒看清楚就回XD

Links booklink

Contact Us: admin [ a t ] ucptt.com