我是zend框架的新手,我知道这是一个初学者级别的问题。但我完全搞砸了。
我只想以user_id
的降序检索user_name
和user_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无关。
我应该做些什么改变?请帮忙。
答案 0 :(得分:1)
如果getUsersTable()
函数按照问题中提到的方式在Controller中编写,那么你可以试试这个 -
在Controller的顶部添加此use语句 -
使用Zend \ Db \ Sql \ Select;
在你的行动中写下这个 -
$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.
我希望它有所帮助。