バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 受注マスター一覧にお届け日の検索、表示を追加したいです。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
behappy
投稿日時: 2018/10/27 2:15
対応状況: −−−
新米
登録日: 2018/10/27
居住地:
投稿: 2
受注マスター一覧にお届け日の検索、表示を追加したいです。
▼テンプレート
[EC-CUBE] 3.0.15
[OS] Windows Server 2008 R2 Standard Edition
[PHP] 5.6.36
[データベース] MySQL 5.6.10
[WEBサーバ] IIS

お世話になっております。
いつもありがとうございます。


受注マスター一覧ででお届け日の検索、表示を追加したいです。

お届け日情報はdtb_shippingテーブルのshipping_delivery_dateでorder_idで関係があるので
src¥Eccube¥Repository¥OrderRepository.phpのgetQueryBuilderBySearchDataForAdmin()にdtb_shipping.shipping_delivery_dateも取得するように修正を考えました。

SymponyのDoctrineは初めてなので調べながら試してみましたができませんでした。

1.
$qb = $this->createQueryBuilder('o');
$qb->addSelect('(select s.shipping_delivery_date from Eccube\\Entity\\Shipping s where s.Order=o.id) as delivery_date');

2.
$qb = $this->createQueryBuilder('o');
$qb ->addSelect('s.shipping_delivery_date')
->innerJoin('Eccube\\Entity\\Shipping','s','WITH','s.Order=o.id');

どちらもですが
dtb_shipping.shipping_delivery_dateをShippingのEntityから取得する方法がわかりません。


s.Order
s.order_id
s.Order.id
など全部できませんでした。


大変申し訳ございませんがごアドバイスお願い致します。
minori
投稿日時: 2018/10/30 9:53
対応状況: −−−
常連
登録日: 2017/10/12
居住地:
投稿: 40
Re: 受注マスター一覧にお届け日の検索、表示を追加したいです。
テーブルの結合は以下のように記述すればできると思います。

$qb = $this->createQueryBuilder('o')
    ->innerJoin('o.Shippings', 's');

上記クエリに検索条件(s.shipping_delivery_date)を
追加してみてください。

お届け日の取得についてですが、
getQueryBuilderBySearchDataForAdminメソッドで
生成したクエリを実行すれば、何も追加しなくても
ShippingEntityの情報もすでに取得出来ていると思います。

twigで記述するなら、以下のような書き方で
取得できるはずです。
※OrderとShippingの関係は一対多なので、添え字が必要です

{{ Order.Shippings[0].shipping_delivery_date|date_format }}

試してみてください。
behappy
投稿日時: 2018/10/30 11:43
対応状況: 解決済
新米
登録日: 2018/10/27
居住地:
投稿: 2
Re: 受注マスター一覧にお届け日の検索、表示を追加したいです。
minori様

大変助かりました。
ありがとうございます!

ご説明とおりにして対応できました。

検索
---------------------
お届け希望日
---------------------
一覧表示
---------------------
お届け希望日
お届け時間
お届け先
---------------------
の処理が必要だったので


RepositoryのOrderRepository.php
--------------------------
$qb ->innerJoin('o.Shippings','s');
$qb ->innerJoin('o.Pref','p');
--------------------------
を更新


検索
--------------------------
andWhere('s.shipping_delivery_date >= :delivery_date_start')
->andWhere('s.shipping_delivery_date < :delivery_date_end')
--------------------------

一覧表示
templateのOrder\index.twig
--------------------------
Order.Shippings[0].shipping_delivery_date
Order.Shippings[0].shipping_delivery_time
OrOrder.Shippings[0].Pref.name
--------------------------

の更新して対応できました。

ありがとうございました。
良い一日をお過ごしてください。

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


 



ログイン


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

統計情報

総メンバー数は88,866名です
総投稿数は109,999件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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