【问题标题】:Zend Framework: Select queryZend 框架:选择查询
【发布时间】:2014-11-27 10:56:02
【问题描述】:

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

<?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'));
    }
}

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

【问题讨论】:

    标签: mysql select zend-framework


    【解决方案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;         
        }
    }
    

    【讨论】:

    • 非常感谢,如何显示结果?也许,我必须创建新视图,是吗?
    • 是显示创建视图所需的结果。
    • 我会这样做return $this-&gt;fetchAll($this-&gt;select()-&gt;where("something = ?, $something));。这将返回包含 Zend_Db_Table_RowZend_Db_Table_Rowset 可以扩展(例如创建用户类,因此 quest 返回用户对象)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多