2011-02-14 46 views
0

我是CodeIgniter的新手,並且無法使用ActiveRecord語法加載簡單數據庫表(名爲'entries')的內容 - 我正在獲取空白頁面。無法加載數據庫表的內容與ActiveRecord

這裏是我的控制器:

class Blog extends CI_Controller { 
    function Blog() { 
     parent::__construct(); 
    } 

    function all() { 
     $this->load->model('Entries'); 
     $data['rows'] = $this->Entries->load_all(); 
     $this->load->view('view_all', $data); 
    } 
} 

型號:

class Entries extends CI_Model { 
    function __construct() { 
     parent::__construct(); 
     $this->load->database(); 
    } 

    function load_all() { 
     $query => $this->db->get('entries'); 
     return $query->result(); 
    } 
} 

查看:

<ol> 
    <? foreach($rows as $row): ?> 
     <li><?= $row->title ?></li> 
    <? endforeach; ?> 
</ol> 

注:我可以得到它,如果我改變load_all的數據類型的工作( )在我的模型中的功能:

function load_all() { 
    $sql = "SELECT * FROM entries"; 
    $query = $this->db->query($sql); 
    return $query->result_array(); 
} 

而且我認爲到:

<ol> 
    <? foreach($rows as $row): ?> 
     <li><?= $row['title'] ?></li> 
    <? endforeach; ?> 
</ol> 

有什麼想法,爲什麼ActiveRecord的語法不工作?

FYI:CodeIgniter 2.0,MySQL,PHP 5.3.2。哦,config/database.php中的$ active_record設置爲TRUE。

謝謝。

回答

3

在你load_all的數據類型()函數,你有一個放錯地方後「=>」 $查詢。它應該是'='

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

然後你可以返回你的$查詢對象。

return $query->result(); 

在另一個說明中,調用模型時不需要使用大寫字母。即使模型名稱可能大寫,對象函數調用也允許爲小寫。如果你使用大寫,你的代碼不會中斷,你只是不需要。

+0

啊傻了!謝謝! – cravr 2011-02-15 20:59:36

0

我認爲你需要告訴你的觀點,即查詢結果需要提取:

<ol> 
    <? foreach($rows->result() as $row): ?> 
     <li><?= $row->title ?></li> 
    <? endforeach; ?> 
</ol>