Zend Framework:选择查询

时间:2014-11-27 10:56:02

标签: mysql select zend-framework

我是 Zend Framework 的新手,我创建了DbTable,我的主键是 id ,我的表名是用户

<?php

class Application_Model_DbTable_User extends Zend_Db_Table_Abstract
{

    protected $_name = 'user';
    protected $_primary = 'id';

}

之后,我回顾了 Abstract.php (Db / Table / Abstract.php),我发现我必须使用 insert(array $ data),所以我创建了一个模型:( Register.php

<?php

class Application_Model_Register
{
    public function CreateUser($array)
    {
        $dbTableUser = new Application_Model_DbTable_User();
        $dbTableUser -> insert($array);
    }

}

最后,在我的控制器中,我创建了 IndexController.php

<?php
class IndexController extends Zend_Controller_Action
{
    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        $register = new Application_Model_Register();
        $register-> CreateUser(array(
               'username'=>'test'));
    }
}

它工作正常,但我不知道选择,如何从用户表中选择查询?

1 个答案:

答案 0 :(得分:1)

我们的控制器必须如下所示

<?php
class IndexController extends Zend_Controller_Action
{
    public function getdataAction()
    {
         $register = new Application_Model_Dbtable_Register();
         $register->getListOfUser(); 
    }
}

现在你的模型应该是这样的,

<?php

class Application_Model_DbTable_Register extends Zend_Db_Table_Abstract
{

    protected $_name = 'user';
    protected $_primary = 'id';


    public function getListOfUser()
    {
         $db = Zend_Db_Table_Abstract::getDefaultAdapter();
        $select  = $db->select()
                      ->from($_name,array('*'))
                      ->where(1);
        $data = $db->query($select)->fetchAll();
        return $data;         
    }
}