kkk 发表于 2010-7-23 11:04:31

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还是能正确取出来的,百思不得其解,在线等求救

kkk 发表于 2010-7-23 11:09:16

终于找到问题了,在于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();
      }
就不行......

aramisliu 发表于 2010-12-6 17:25:12

问题解决了 知道How了,那知道Why了吗

kkk 发表于 2010-12-15 19:30:49

回复 3# aramisliu


   诚心请指教。

feiying0193 发表于 2010-12-28 14:31:52

本帖最后由 feiying0193 于 2010-12-28 14:32 编辑

好像应该是parent::Doctrine_Record()吧?

xiaoxiaofeitu 发表于 2011-3-15 14:30:38

:lol
abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Countable, IteratorAggregate, Serializable{}
抽象类的构造函数   应该是算抽象方法吧抽象方法不能被重写不知道这样解释对不对
页: [1]
查看完整版本: Doctrine使用toArray()后ID为NULL??