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

看板PHP作者 (罹患重度能年病的燕叔)時間10年前 (2015/10/11 00:06), 10年前編輯推噓3(304)
留言7則, 1人參與, 最新討論串1/2 (看更多)
大家好, 初學 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新手上路,還請多指教 ^^> 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.216.83.91 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1444493189.A.766.html

10/11 00:26, , 1F
你要回傳的應該是result 而不是query
10/11 00:26, 1F
不好意思這句有點不太懂意思~ 不過其實兩個 restful/model 的 code 是 copy paste 之後改名稱而已, 如果有問題應該是兩個都會出事才是 @@>

10/11 00:27, , 2F
問題1可以用autoload 或是
10/11 00:27, 2F

10/11 00:27, , 3F
10/11 00:27, 3F
這個我有看過, 不過在建構子裡面指定了 $db1 = $this->load->database('group_one',TRUE); $db2 = $this->load->database('group_two',TRUE); 的話,要怎麼在其他的 method 裡面直接呼叫呢? 新手蠢問題比較多,不好意思 XD"

10/11 00:28, , 4F
問題二我個人不建議那樣的寫法 基本上就是封裝在model裡
10/11 00:28, 4F

10/11 00:32, , 5F
看來問題一我看錯XD 不過你可以在_construct設定要連那個
10/11 00:32, 5F
好的感謝 ^^ 我來研究看看 ※ 編輯: swallowcc (49.216.83.91), 10/11/2015 00:34:18

10/11 00:37, , 7F
吃太飽結果沒看清楚就回XD
10/11 00:37, 7F
文章代碼(AID): #1M6JU5Tc (PHP)
文章代碼(AID): #1M6JU5Tc (PHP)