カテゴリー
db

Laminas dbの例(fetchAll的)

日本語記事が意外と見つからないzend db的にはfetchAllに該当するサンプル

use Laminas\Db\Adapter\Adapter;
use Laminas\Db\ResultSet\ResultSet;
use Laminas\Db\Sql\Sql;

$sql = "SELECT * FROM item WHERE id = ?";
$statement = $adapter->createStatement($sql, [$id]);
$result = $statement->execute();
$items = new ResultSet;
$items->initialize($result);
$rows = $items->toArray();

プレイスホルダーも使えます。
$itemsの時点だとオブジェクトです。
toArrayでfetchAllの時のように配列になります。

driverによっては?(ハテナ・クエスチョン)が使えず$1..を使わないといけないかもしれません。
例えばドライバーがPgsqlだと、?が使えません。

zend1の時のように、短く書ける方法をご存じの方はお知らせくださいm(__)m

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です