バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > 開発について > OrderItemやShippingエンティティはOrderのIDをどうやって取得しているんでしょうか?

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sibusawa5
投稿日時: 2021/10/15 22:21
対応状況: −−−
新米
登録日: 2021/9/14
居住地:
投稿: 2
OrderItemやShippingエンティティはOrderのIDをどうやって取得しているんでしょうか?
現在、プラグインを開発中で初めてOrderを扱っているのですがOrderIDの取得方法が分かりません。
具体的にはOrderとOneToOneのエンティティを作り、注文画面に追加のフォームタイプとして表示、そこで取得した情報とOrderIdを登録させたいのですが、OrderIdがnullになってしまいます。

/**
* @var \Eccube\Entity\Order
* @ORM\ManyToOne(targetEntity="Eccube\Entity\Order", inversedBy="hogeOrderExtension", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="order_id", referencedColumnName="id")
* })
*/
private $Order;

public function setOrder(Order $Order) {
$this->Order = $Order;
return $this;
}

といった感じでリレーションやセッターなどはちゃんと設定しているのですが...

一体OrderItemやShippingはどうやってOrderのIdを取得し、登録しているんでしょうか?
Shopping周りのソースコードやOrder,Shipping,OrderItemsのソースコードを見ても分からず、3日経ってしまいました...

最悪、無理やりセッションからIDひっぱてきて、エンティティマネージャー経由で無理やり登録....なんか考えてますがさすがにまずいですよね?
468
投稿日時: 2021/10/18 11:15
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: OrderItemやShippingエンティティはOrderのIDをどうやって取得しているんでしょうか?
/src/Eccube/Service/OrderHelper.phpの中に記述されていないでしょうか?

ご注文手続きページを表示する
ShoppingController.php function index()
の中で$this->orderHelperに対して各メソッドを実行し、
受注、受注明細や配送情報を組み立てていると思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1283
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.