Я пытаюсь создать собственный класс ActiveRecord и пытаюсь вернуть результаты MySQL в объекте.Объект будет моделью.Вот что я делаю:
while($object = mysql_fetch_object($result, $this->_model)) {
foreach($object as $key => $val) {
if($this->is_serialized($val)) $object->$key = unserialize($val);
}
$return_value[] = $object;
}
Если я выполню print_r () для результата, я получу пустой класс (переменные не установлены или что-то еще).Вот моя модель:
class User extends ActiveRecord {
public $_hasOne = "Profile";
public $_required = array('full_name', 'user_name', 'password', 'country');
public $_unique = array('full_name', 'user_name');
}
Я не могу понять, что я делаю неправильно!
РЕДАКТИРОВАТЬ: Исправлено в конце.В начале моего класса Activerecord у меня было это:
$fields = $this->query("SHOW COLUMNS FROM " . $this->_table);
while($field = mysql_fetch_assoc($fields)) {
$this->_columns[] = $field['Field'];
$this->$field['Field'] = null;
}
, который устанавливал все значения в NULL!Немного глупой ошибки.Сейчас:
$fields = $this->query("SHOW COLUMNS FROM " . $this->_table);
while($field = mysql_fetch_assoc($fields)) {
$this->_columns[] = $field['Field'];
if(!isset($this->$field['Field'])) $this->$field['Field'] = null;
}