2014-02-26 41 views
1

到笨和嘗試寫一個簡單的博客應用:笨返回我非常新的空數組

控制器:posts.php

class Post extends CI_Model { 

    function get_posts($num=20, $start=0) { 
     $this->db->select()->from('posts')->where('active',1)->order_by('date_added','dec')->limit(0,20); 
     $query = $this->db->get('posts'); 
     return $query->result_array(); 

     } 

} 

型號:post.php中

class Posts extends CI_Controller { 
    function index() { 
     $this->load->model('post'); 
     $data['posts'] = $this->post->get_posts(); 
     echo"<pre>";print_r($data['posts']);echo"</pre>"; 
    } 
} 

我已經填充數據庫中的帖子表。然而,當我試圖讓結果我得到這個代替:

Array 
(
) 

的mysql>描述職位;

+------------+--------------+------+-----+-------------------+-----------------------------+ 
| Field  | Type   | Null | Key | Default   | Extra      | 
+------------+--------------+------+-----+-------------------+-----------------------------+ 
| postID  | int(10)  | NO | PRI | NULL    | auto_increment    | 
| title  | varchar(255) | NO |  | NULL    |        | 
| post  | text   | NO |  | NULL    |        | 
| date_added | timestamp | NO |  | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | 
| userID  | int(4)  | NO |  | NULL    |        | 
| active  | tinyint(1) | NO |  | NULL    |        | 
| slug  | varchar(255) | NO |  | NULL    |        | 
+------------+--------------+------+-----+-------------------+------------------ 

有什麼不對的代碼,我該如何解決?

回答

0

由於您的查詢越來越錯了,因爲你已經擁有->from('posts')所以你不需要表名更多的在用GET

變化

$query = $this->db->get('posts'); 

隨着

$query = $this->db->get(); 

而且

->order_by('date_added','desc') 
+0

您應該能夠在$ this-> db-> get()後面使用'echo $ this-> db-> last_query()'來查看您的最後一個查詢,以確保您的查詢正確 – Minhaz

+0

replace db-> get('posts ')與db-> get()並沒有解決問題。但是當我註釋了// - > order_by('date_added','dec') - > limit(0,20);數組內容出現。任何想法爲何如此? – supermario

+0

你可以檢查列名'date_added'是否正確,我檢查了查詢和它爲我工作。 get();返回'echo $ this-> db-> last_query()' – Minhaz