バージョン選択

フォーラム

メニュー

オンライン状況

57 人のユーザが現在オンラインです。 (44 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 56
edward365 もっと...

サイト内検索

質問 > フロント機能 > MYSQLのビューをSELECTし値を表示

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
masak0521
投稿日時: 2025/6/20 16:02
対応状況: 開発中
半人前
登録日: 2025/6/16
居住地:
投稿: 11
MYSQLのビューをSELECTし値を表示
▼テンプレート
[EC-CUBE]4.3
[PHP]8.3
[データベース]MySQL
[現象]
商品詳細画面に、MySQLで作成した別VIEW(ここは最悪テーブルでも可です)に対し商品IDをキーに値を取得し、その値をループして一覧表示する方法をお教えください。

現在2系からの移行を行っていて、旧バージョンではLC_Page_Products_DetailにSELECT文を発行しデータを取得するカスタマイズをしてありました。

4系だとEntity、Repositoryを作成しControllerからアクセスするというのが正規のやり方だとは思うのですが…

こちらがVIEWの場合どう書いたら良いのか分からないというのもあり、(一旦セキュリティ的なものは置いておいても)SQLの発行からのデータの取得及び取得したデータの画面表示の方法があればお教えいただきたく存じます。
h_tanaka
投稿日時: 2025/6/20 16:07
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 2018
Re: MYSQLのビューをSELECTし値を表示
Contoroller で通常のPHPが記述できますし、 Twig でもHTMLが記述できるので、標準的な実装ルールを無視してゴリゴリに旧時代的な実装を行うことは可能ではあります。
CSRFなどのセキュリティ対策が無効になるため、推奨はしません。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

masak0521
投稿日時: 2025/6/20 16:27
対応状況: 開発中
半人前
登録日: 2025/6/16
居住地:
投稿: 11
Re: MYSQLのビューをSELECTし値を表示
ありががとうございます

そうなのですね・・・
ECCUBE4以降はPHPのベタ書きは不可、、、といった記載をみかけたもので。

追々新しい形式に準拠するように修正するとして、一旦はProductController.phpを「app/Customize/Controller/ProductController.php」にコピーし、そこに旧ソースと同様のSQLを実行し、その値をtwigで表示していくで一応画面表示は可能、ということでよいでしょうか?

h_tanaka
投稿日時: 2025/6/20 16:31
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 2018
Re: MYSQLのビューをSELECTし値を表示
私も実際に試したことはないので、PHPベタ書きするとなにかしら不具合が出る可能性はあるかもしれません。
一応、可能であると予想していますが、なにか問題があれば、実装内容を記載のうえ、また質問いただければと思います。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

mcontact
投稿日時: 2025/6/20 17:21
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1732
Re: MYSQLのビューをSELECTし値を表示
EC-CUBE4(Symfony/Doctrine ORM)にて、生のSQL文の実行は可能です。
下記のサイトあたりを参考にしてみてください。
http://note.onichannn.net/archives/2625
https://blog.okashoi.net/entry/2023/12/09/060000#Doctrine-ORM-%E3%81%AE%E5%A0%B4%E5%90%88


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

masak0521
投稿日時: 2025/6/23 14:41
対応状況: −−−
半人前
登録日: 2025/6/16
居住地:
投稿: 11
Re: MYSQLのビューをSELECTし値を表示
2重投稿のような質問をしてしまい申し訳ありません。

教えていただいた内容を元に下記のように記述したところ、エラーは出ないのですが、twig側でdumpで表示しても配列の中身が空のままとなっているようです。

テーブルには必ずデータがある前提で、下記のおかしい点などがわかりましたらお教えください。


$SQL="SELECT * FROM TEST01";
$rsm = new ResultSetMapping();

$query = $this->entityManager->createNativeQuery($SQL, $rsm);

$TEST_List = array();

while($rs = $query->getResult()){
$TEST_List[] = array(
"id" => $rs['id'],
"data1" => $rs['data1'],
"data2" => $rs['data2'],
);
}

return [
'TEST_List' => $TEST_List,
];
}
mcontact
投稿日時: 2025/6/25 16:57
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1732
Re: MYSQLのビューをSELECTし値を表示
本コミュニティは開発者の相互にサポートするのための開発コミュニティです。
コードレビューを行う場所ではありません。
参考サイトは提示していますので、ご自身で改修したコードをもとに、調査・開発・確認を行ってください。
それでも不明点が出るようであれば、エラーログなど見て開発を進めるか、開発に関して初心者ということでしたら、開発できるレベルまで勉強されるか、御社エンジニアまたはEC-CUBEインテグレートパートナーに相談されることをオススメ致します。
https://www.ec-cube.net/integrate/partner/


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は107,943名です
総投稿数は112,704件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2334
5
umebius
2085
6
h_tanaka
2018
7
yuh
1900
8
mcontact
1732
9
red
1582
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
805
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
balisys
502


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.