バージョン選択

フォーラム

メニュー

オンライン状況

71 人のユーザが現在オンラインです。 (65 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 70
mi-chan もっと...

サイト内検索

質問 > フロント機能 > 商品画面に項目追加を行った項目をOrderテーブルにも項目追加を行ったが情報が保存されない

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hebechan
投稿日時: 2020/10/26 18:15
対応状況: −−−
半人前
登録日: 2020/10/21
居住地:
投稿: 11
商品画面に項目追加を行った項目をOrderテーブルにも項目追加を行ったが情報が保存されない
▼テンプレート
[EC-CUBE]4.0.5
[PHP]7.4.9

商品に項目追加を行い、Orderテーブルにも同じ項目の追加を行ったが、
ご注文手続きに移行した際にOrderテーブルに値が保存されません。

どのような手順で保存することが可能でしょうか。
hebechan
投稿日時: 2020/10/28 10:27
対応状況: −−−
半人前
登録日: 2020/10/21
居住地:
投稿: 11
Re: 商品画面に項目追加を行った項目をOrderテーブルにも項目追加を行ったが情報が保存されない
商品テーブルに以下を追加

<?php
// app/Customize/Entity/ProductTrait.php
namespace Customize\Entity;
 
use Doctrine\ORM\Mapping as ORM;
use Eccube\Annotation as Eccube;
 
/**
  * @Eccube\EntityExtension("Eccube\Entity\Product")
 */
trait ProductTrait
{
    /**
     * @ORM\Column(name ="servicedate",type="date", nullable=true)
     * @Eccube\FormAppend(
     * type="Symfony\Component\Form\Extension\Core\Type\DateType",
     *  auto_render=true,
     *  options={
     *   "required": false,
     *   "label":"運行年月日"
     *  }
     * )
     */
    public $Servicedate;

        /**
         * Set Servicedate.
         *
         * @param date|null $servicedate
         *
         * @return Product
         */
        public function setServicedate($servicedate = null)
        {
            $this->Servicedate = $servicedate;

            return $this;
        }

        /**
         * Get Servicedate.
         *
         * @return date|null
         */
        public function getServicedate()
        {
            return $this->Servicedate;
        }
}


商品テーブル同様にOrderテーブルにも追加
<?php
// app/Customize/Entity/OrderTrait.php
namespace Customize\Entity;
 
use Doctrine\ORM\Mapping as ORM;
use Eccube\Annotation as Eccube;
use Symfony\Component\Validator\Constraints as Assert;
 
/**
  * @Eccube\EntityExtension("Eccube\Entity\Order")
 */
trait OrderTrait
{
    /**
     * @ORM\Column(name ="servicedate",type="date", nullable=true)
     * @Eccube\FormAppend(
     * type="Symfony\Component\Form\Extension\Core\Type\DateType",
     *  auto_render=true,
     *  options={
     *   "required": false,
     *   "label":"運行年月日"
     *  }
     * )
     */
    private $Servicedate;
    
    
        /**
         * Set servicedate.
         *
         * @param Date|null $servicedate
         *
         * @return Order
         */
        public function setServicedate($servicedate= null)
        {
            $this->Servicedate = $servicedate;

            return $this;
        }

        /**
         * Get servicedate.
         *
         * @return  Date|null
         */
        public function getServicedate()
        {
            return $this->Servicedate;
        }
}


OrderHelperCust

protected function createOrderItemsFromCartItems($CartItems)
の
$OrderItemに
  ->setServicedate($Product->setServicedate())
を追加


注文手続き画面で、debugの確認(抜粋)
"Order" => Order {#1928 ▼
    -id: 61
    -pre_order_id: "59bd50c8edb4f507ad9967975be3f65b59b26d04"
    -order_no: null
    -AnnotationReader: null
    -add_point: "0"
    -use_point: "0"
    -Servicedate: null


のようにNullになってしまい、上手く取得できない状態です。
hebechan
投稿日時: 2020/11/6 11:31
対応状況: 保留
半人前
登録日: 2020/10/21
居住地:
投稿: 11
Re: 商品画面に項目追加を行った項目をOrderテーブルにも項目追加を行ったが情報が保存されない
OrderHelperのcreateOrderItemsFromCartItems内に追記することで、
OrderItemへの書き込みができましたが、

完了画面へ飛んだ後にNullになってしまいます。

※注文手続き→完了の流れで作成していて、
 ご注文内容確認画面は表示しません。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.