1

我是 zend 框架的新手,我知道这是一个初学者级别的问题。但我完全搞砸了。

我只想检索user_iduser_nameuser_id.

我正在使用tablegateway。

我将 getUsersTable() 函数称为

$result = $this->getUsersTable()->select();

getUsersTable() 函数是

 public function getUsersTable()
    {
     if(!$this->usersTable)
     {

      $this->usersTable = new TableGateway('eo_user',$this->getServiceLocator()->get('Zend\Db\Adapter\Adapter')
      );
     }   
     return $this->usersTable;

    }

我搜索了类似的问题,但解决方案看起来与 tablegateway 无关。

我应该做些什么改变?请帮忙。

4

1 回答 1

1

就这样,如果getUsersTable()函数以问题中提到的方式编写在控制器中,你可以试试这个 -

  1. 在控制器顶部添加这个 use 语句 -

    使用 Zend\Db\Sql\Select;

  2. 在你的行动中写下这个 -

    $select = new Select('eo_user'); $select->columns(array('user_id', 'user_name')); $select->order('user_id DESC');

    $result = $this->getUsersTable()->selectWith($select);

注意:如果您getUsersTable()实际上返回的是 TableGateway 对象,那么上面的代码可以正常工作。

如果您像在“专辑”教程中那样创建了模型表类文件,那么只需更改该行

$result = $this->getUsersTable()->selectWith($select); 

$result = $this->tablegateway->selectWith($select);
//This is to be written in that Table Class file.

我希望它可以帮助某人。

于 2014-08-26T09:35:33.197 回答