Doctrine使用toArray()后ID为NULL??
本帖最后由 kkk 于 2010-7-23 14:08 编辑class Users extends Abstract_base {
public function setTableDefinition() {
$this->hasColumn ( "id", 'integer', 11 );
$this->hasColumn ( "name", 'varchar', 50 );
}
}
控制器中
$user=Doctrine::getTable('Users');
$user=$user->findAll();
foreach ($useras $obj) {
var_dump($obj->toArray());
}
打印出来的
array(3) {["id"] => NULL["name"] => string(5) "admin"}array(3) {["id"] => NULL["name"] => string(6) "yahoo!"}
ID莫名其妙的成为NULL了......
如果是返回对象,那么ID还是能正确取出来的,百思不得其解,在线等求救 终于找到问题了,在于Abstract_base 类,我添加Abstract_base是为了想添加一些自定义功能,目前Abstract_base 如下:
abstract class Abstract_base extends Doctrine_Record {
public function __construct() {
parent::__construct();
}
}
问题就出在
public function __construct() {
parent::__construct();
}
把这段代码删掉那么toArray后还是可以正常显示的。
问题自愈了,但还是不明白为什么加了
public function __construct() {
parent::__construct();
}
就不行...... 问题解决了 知道How了,那知道Why了吗 回复 3# aramisliu
诚心请指教。 本帖最后由 feiying0193 于 2010-12-28 14:32 编辑
好像应该是parent::Doctrine_Record()吧? :lol
abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Countable, IteratorAggregate, Serializable{}
抽象类的构造函数 应该是算抽象方法吧抽象方法不能被重写不知道这样解释对不对
页:
[1]