[请益] 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