だ。ログ。

開発とかスノボとかやきうとか。

EC-CUBE3で自作のSQLクエリを発行する

基礎的な部分ではあるが、EC-CUBE3はフレームワークで作らられている為、どうしてもちょっとした変更が難しい。
特にSQLクエリ部分は色々な部分に根をはってしまっている為、どうしてもSQLは単発で動かしたいと言う事が多い。
SQLの知識さえあれば、ある程度自由に情報を取得出来るのでこの辺を知っているとカスタマイズの幅が広がる。

例)/src/Eccube/Controller/ProductController.php

$sql ="SELECT * FROM dtb_products";
$stmt = $app['db']->query($sql);
//1行1行フェッチする場合
while ($row = $stmt->fetch()) {
  //更新日時の日付をスラッシュにして時間を抜く
	$get_date = $row['update_date'];
	$arr_date = preg_split("/ /",$get_date);
	$ins_date = str_replace("-", "/", $arr_date['0']);
	$row['update_date'] = $ins_date;
	$arrProducts[] = $row;
}
//特にデータを弄る事なくそのまま全行fetchする
$arrProducts = $stmt->fetchAll();

あとは変数をrenderする部分に今回であれば$arrProductsをマージすればよい。