zendframework调用fetchAll()函数的问题

Marser_cn 发布于 2012/09/24 21:47
阅读 1K+
收藏 0
先看一段代码,很短。(zendframework1.12框架,php-version:5.3.1)
IndexController.php
  require_once(APPLICATION_PATH.'/models/productTestModel.class.php');
  class IndexController extends Zend_Controller_Action
 {
   
  public function init()
  {
      /* Initialize action controller here */
      $url = constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';
      $dbconfig = new Zend_Config_Ini($url, 'mysql');
      $db = Zend_Db::factory($dbconfig->db);
      $db->query('SET NAMES UTF8');
      Zend_Db_Table::setDefaultAdapter($db);
      //var_dump($db);
  }
  
  public function indexAction()
  {
      // action body
      $productTestModelObj = new productTestModel();
      //var_dump($productTestModelObj);
      $rs = $productTestModelObj -> fetchAll()->toArray();
      echo '<pre>';
      print_r($rs);
      echo '</pre>';
      exit;
  }
  
 }
从数据库读取出来的数据集$rs,已经能正常的打印出来。
问题是,第21行调用"fecthAll()"这个函数,我追踪进去之后,在函数体内打印一句话,代码如下:
/zend/Db/Table/Abstract.php
  public function fetchAll($where = null, $order = null, $count = null, $offset = null)
  {
      echo 'test<br />';
      if (!($where instanceof Zend_Db_Table_Select)) {
          $select = $this->select();
   
          if ($where !== null) {
              $this->_where($select, $where);
          }
  
          if ($order !== null) {
              $this->_order($select, $order);
          }
  
          if ($count !== null || $offset !== null) {
              $select->limit($count, $offset);
          }
  
      } else {
          $select = $where;
      }
  
  ....(此处省略后面无关紧要的代码)
页面刷新后,居然没有显示“test”,这是为什么??求各位大神帮帮忙,小弟感激不尽。
加载中
0
一行
一行
这个 productTestModel mode呢?
0
Marser_cn
Marser_cn

引用来自“码农晓峰”的答案

这个 productTestModel mode呢?

这是MODEL:

class ProductTestModel extends Zend_Db_Table{

protected $_name = 'productTest';

protected $_primary = 'productId';

}

 

这问题已经困扰我两天了,麻烦你了。谢谢。

0
一行
一行

引用来自“JayKong”的答案

引用来自“码农晓峰”的答案

这个 productTestModel mode呢?

这是MODEL:

class ProductTestModel extends Zend_Db_Table{

protected $_name = 'productTest';

protected $_primary = 'productId';

}

 

这问题已经困扰我两天了,麻烦你了。谢谢。

直接引入
require 'zend/Db.php';

就可以了。

出现什么提示?

不然也是

class ProductTestModel extends Zend_Db_Table_Abstract{

}

还有个就是不晓得你配置怎么配置的。

 

public function __construct(){
    $db = $this->getAdapter();
}

打印下$db看下!

0
Marser_cn
Marser_cn

引用来自“码农晓峰”的答案

引用来自“JayKong”的答案

引用来自“码农晓峰”的答案

这个 productTestModel mode呢?

这是MODEL:

class ProductTestModel extends Zend_Db_Table{

protected $_name = 'productTest';

protected $_primary = 'productId';

}

 

这问题已经困扰我两天了,麻烦你了。谢谢。

直接引入
require 'zend/Db.php';

就可以了。

出现什么提示?

不然也是

class ProductTestModel extends Zend_Db_Table_Abstract{

}

还有个就是不晓得你配置怎么配置的。

 

public function __construct(){
    $db = $this->getAdapter();
}

打印下$db看下!

$db打印出来挺正常的,数据都已经能正常的显示出来了,说明数据库能连接成功嘛。

0
李先僧
李先僧
兄弟,不知道你这问题解决了吗?我也遇到了一样的问题,郁闷了一天了,愣是没找到哪里的问题。。。
返回顶部
顶部