Propel — fetchArray или toArray

В Doctrine я могу использовать функцию fetchArray() вместо execute или toArray(). Я не могу найти аналог этой функции для Propel. Это возможно?


person Mark Fondy    schedule 29.12.2011    source источник


Ответы (3)


если вам действительно нужен массив, вы всегда можете использовать старый Peer API

$criteria = new Criteria();
/* ...setup your criteria... */
$pdoStatement = AuthorPeer::doSelectStmt($criteria);
$array = $pdoStatement->fetchAll(PDO::FETCH_ASSOC);
person Mariusz Sakowski    schedule 31.12.2011

Вы можете позвонить toArray() сразу после ->find().

Либо сразу:

$authors = AuthorQuery::create()
  ->limit(5)
  ->find()
  ->toArray();
foreach ($authors as $author) {
  print_r($author);
}

Или в цикле:

$authors = AuthorQuery::create()
  ->limit(5)
  ->find()l
foreach ($authors as $author) {
  print_r($author->toArray());
}
person Qiniso    schedule 29.06.2016

Вы можете перебирать набор результатов продвижения, как вы можете с массивом

$authors = AuthorQuery::create()
  ->limit(5)
  ->find();
foreach ($authors as $author) {
  echo $authors->getFirstName();
}

http://www.propelorm.org/documentation/03-basic-crud.html#collections_and_ondemand_hydration

person Galen    schedule 29.12.2011