2013-02-26 2 views
0

Мой контроллер может подключаться к БД, но моя модель не может. Я автоматически загрузил БД в файл autoload.php, но не повезло в модели.Модель Codeigniter не может подключиться к db

так что если я делаю что-то вроде $ this-> db-> insert ('table', $ data);

Я получаю эту вызов функции члена вставки() на не-объект я использовал CodeIgniter раньше, но никогда не имел этот вопрос, на мой другой проект, я даже не использовать родительский :: __ конструкт()

class Bucketlist extends CI_Model { 

private $data = array(); 

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

// Setter Function 
public function __set ($var, $val) { 
    $this->data[$var] = $val; 
} 

// Getter Function 
public function __get($var) { 
    return (isset($this->data[$var])) ? $this->data[$var] : null; 
} 

// Create WishList 
function createBucketList($bucketlist) { 
    $this->db->insert('_bucketlist', $bucketlist->data); 
} 

}

спасибо.

ответ

0

Возможно, потребуется автозагрузка соединения с базой данных (http://ellislab.com/codeigniter/user-guide/database/connecting.html), поскольку, как представляется, переменная db не создается, прежде чем вы пытаетесь ее использовать.

+0

Да, я пробовал это, и я получаю этот ответ. Вызов функции-функции члена() для не-объекта – Matt

+0

Я удалил магическую функцию __set и __get, и теперь она соединяется. Я не полный PHPer, но я понятия не имею, почему это может вызвать проблему. – Matt

+0

@Matt - пожалуйста, разместите свое решение в качестве ответа и примите его, когда система позволяет. Таким образом, ваше сообщение перестанет появляться в «неотвеченных» списках. Благодаря! – swatkins

Смежные вопросы