2013-01-22 45 views
1

我迷路了。我找不到錯誤。codeignitor休息不能使數據庫查詢?

我試圖使用codeingniter的restserver:https://github.com/philsturgeon/codeigniter-restserver

實現了它在安裝restserver的描述。

出於某種原因,我不能查詢數據庫:在瀏覽器中我得到的errormessage的

A PHP Error was encountered 
Severity: Notice 
Message: Undefined property: Image::$db 
Filename: core/Model.php 
Line Number: 51 

的錯誤似乎是在模型做$查詢時,由於某種原因,DB是不正確的?

任何想法?

下列文件沒有我實現,使在電話:www.test.com/index.php/image/index

型號:應用程序/模型/ image_model.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
class Image_model extends CI_Model { 

    function __construct() 
    { 
     parent::__construct(); 
    } 

    function getAll() { 
     //$query = $this->db->get('images'); // Does not work. Active Record missing in libraries? 
     $query = $this->db->query('SELECT * FROM images'); 
     return $query->result(); 
    } 
} 
?> 

控制器:應用/控制器/ image.php

<?php 
require(APPPATH . 'libraries/REST_Controller.php'); 

class Image extends REST_Controller 
{ 
    public function index_get() 
    { 
     $this->load->model('image_model'); 
     $images = $this->image_model->getAll(); 
     $this->response($images); 
    } 

    public function index_post() 
    { 
     // Create a new book 
    } 
} 
?> 

配置部分數據庫:應用/配置/ database.php中

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'foo'; 
$db['default']['password'] = 'bar'; 
$db['default']['database'] = 'testdrive'; 
$db['default']['dbdriver'] = 'mysql'; 

回答

2

你自動加載通過設置application/config/autoload.php$autoload['libraries']數據庫庫?如果沒有,你需要這樣做:

打開application/config/autoload.php並找到:

$autoload['libraries'] = array(); 

並將其更改爲:

$autoload['libraries'] = array('database'); 

如果你不想使用的每個頁面上的數據庫連接請求您也可以手動加載數據庫庫我的調用$this->load->database();

+0

這樣做的竅門。非常感謝。出於某種原因,我瞎了眼睛:)歡呼聲 – jerik