EC-CUBE3では、データベースの操作は通常、Doctrin/ORMというO/Rマッパーを使っています。
O/Rマッパーは便利ですが、複雑な集計を行うときなど、SQLを直接書きたい場面もあると思います。
そんな時はDoctrine/DBALを使うとSQLでデータを取ってくることができます。
こんな感じ。PDOと同じような使い方です。
$stmt = $app['db']->query('select * from dtb_product');
while ($row = $stmt->fetch()) {
dump($row);
}
クエリビルダを使ってSQLを構築することもできます。
$qb = $app['db']->createQueryBuilder();
$stmt = $qb
->select('*')
->from('dtb_product')
->where('name = :name')
->setParameter('name', 'パーコレーター')
->execute();
while ($row = $stmt->fetch()) {
dump($row);
}