Zend Framework 2 Db \ Adapter \ Адаптер результатов запроса, например ZF1
Просто нужна рука, чтобы понять некоторые простые запросы к базе данных в ZF2. В ZF1 у меня есть такие простые методы:
public function recordset()
{
// listing of all records
$db = Zend_Registry::get('db');
$sql = "SELECT " . $this->_selectlist() .
" from customer c";
$r = $db->fetchAll($sql);
return $r;
}
В ZF2, как бы я сделал то же самое? Я попробовал следующее, но это просто возвращает то, что выглядит как "Результат" объект, но все, что я хочу, это массив, как ZF1 сделал с fetchAll. Если мне нужно итерировать объект результата только для того, чтобы потом предоставить массив, который затем нужно будет повторить снова, это просто кажется некоторым дублированием усилий.
Во всяком случае, здесьЧто я имею в ZF2 до сих пор:
//above the controller start I have: use Zend\Db\Adapter\Adapter as DbAdapter;
public function blaAction()
{
$db = new DbAdapter(
array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=mydb;host=localhost',
'username' => 'root',
'password' => '',
)
);
$sql = 'select * from customer';
$stmt = $db->query($sql);
$results = $stmt->execute();
$this->view->data = $results;
return $this->view;
}
В результате я получаю это:
object(Zend\Db\Adapter\Driver\Pdo\Result)#197 (8) {
["statementMode":protected]=> string(7) "forward" ["resource":protected]=> object(PDOStatement)#195 (1) {
["queryString"]=> string(22) "select * from customer"
} ["options":protected]=> NULL ["currentComplete":protected]=> bool(false) ["currentData":protected]=> NULL ["position":protected]=> int(-1) ["generatedValue":protected]=> string(1) "0" ["rowCount":protected]=> NULL
}
Однако, если я изменю результаты в $ на$results->count();
Я действительно вижу количество записей. Как мне получить данные, хотя в виде массива? (полный набор записей)
В какой-то момент я увидел что-то вроде:$results->current()
Но это вернуло только одну запись.
Просто примечание. Я вижу все табличные абстрактные классы, которые могу использовать, но на этом этапе обучения я неЯ не хочу этого делать. Я просто хочу несколько простых запросов по запросу, которые возвращают массивы, как в ZF1. В ZF2 естькажется слишком много "проводка " вещей в конфигах и прочее, что кажется излишним. Но, как фреймворк, мне нравится гибкость, и основное приложение, над которым я работаю в ZF1, действительно может выиграть от модульности ZF2. (иначе ябуду наверное идти с другими рамками)
Пожалуйста, прости мое невежество, и большое спасибо за любую помощь!