我想以旧方式在zend2中执行查询.我想编写查询并执行它.我不想使用函数save(),update(),delete().这是我的模特:
namespace Application\Model;
use Zend\Db\Adapter\Adapter;
use Zend\Db\TableGateway\AbstractTableGateway;
use Zend\Db\Sql\Select;
use Zend\Db\Sql\Sql;
use Zend\Db\Adapter\Driver\ResultInterface;
use Zend\Db\ResultSet\ResultSet;
class UsersTable extends AbstractTableGateway {
public function __construct(Adapter $adapter) {
$this->adapter = $adapter;
}
public function fetchAll() {
$results = $this->adapter->query("SELECT * FROM users");
return $results->execute();
}
}
Run Code Online (Sandbox Code Playgroud)
在fetchAll函数中,我想执行查询"select*from users".我怎样才能做到这一点 ?结果是:
object(Zend\Db\Adapter\Driver\Pdo\Result)#243 (8) {
["statementMode":protected]=>
string(7) "forward"
["resource":protected]=>
object(PDOStatement)#241 (1) {
["queryString"]=>
string(19) "SELECT * FROM users"
}
["options":protected]=>
NULL
["currentComplete":protected]=>
bool(false)
["currentData":protected]=>
NULL
["position":protected]=>
int(-1)
["generatedValue":protected]=>
string(1) "0"
["rowCount":protected]=>
NULL
}
Run Code Online (Sandbox Code Playgroud)
您可以执行以下操作,而不是循环结果集并调用next().
public function fetchAll() {
$results = $this->adapter->query("SELECT * FROM users");
$result = $results->execute();
return $result->getResource()->fetchAll();
}
Run Code Online (Sandbox Code Playgroud)
该函数将数据作为数组返回.
| 归档时间: |
|
| 查看次数: |
5030 次 |
| 最近记录: |