バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > 既存テーブルに新しい項目を<複数>追加する方法

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kumaan
投稿日時: 2023/9/11 17:38
対応状況: −−−
新米
登録日: 2023/9/11
居住地:
投稿: 9
既存テーブルに新しい項目を<複数>追加する方法
▼テンプレート
[EC-CUBE]4.2
[レンタルサーバ] レンタルサーバ名 Xサーバー


phpを参考コードをコピペして編集できる程度のレベルなので、symfonyとTraitの作法もイマイチわかっておらずのど素人です、ご教授下さい。

下記の記事を参考に、商品登録画面に複数のプロパティを追加したいのですが、どう書いても反映されません。

https://noveblo.com/eccube-customize-10/

・生産国
・賞味期限
・JANコード
・注意事項(テキストエリア)

生産国については記事の通りに反映されたのですが、その後の項目をコピーして下記のように続けて、コンソールから「bin/console doctrine:schema:update --dump-sql --force」を実行しても、SQL側に反映されません。

ProductTrait.phpの書き方が間違っているのか、SQLを更新するコマンドが間違っているのでしょうか?(そもそもコメントアウトの部分は必要ですか?)
エラーはなく実行されて、EC-Cube側からキャッシュをクリアしても、商品詳細画面と登録画面をクリックすると「システムエラーが発生しました。
大変お手数ですが、サイト管理者までご連絡ください。」と表示されて、ログアウトしてしまいます。

どうにもうまくいかないので、SQLに直接項目を追加して、ProductTypeExtention.phpとProduct.twgを更新すると、フォームは表示されたのですが、データベースへ紐づかなかたので入力内容が入りませんでした。
SQLから直接項目を追加するのは作法としてNGなんでしょうか?

よろしくお願いします。


trait ProductTrait
{

/*Janコード*/
private $jan_code = null;
/**
* setメソッドで製品の生産地域($production_area)を保存できるようにする。
* 値が設定されなかった場合、nullに設定される。
*
* @param string $jan_code|null
*
* @return Product
*/
public function setJanCode($jan_code = null)
{
$this->jan_code = $jan_code;
return $this;
}
/**
* getメソッドで製品の生産地域($production_area)を取り出せるようにする。
* 値が設定されていない場合、nullを返す。
*
* @return string|null
*/
public function getJanCode()
{
return $this->jan_code;
}

/*素材*/
private $product_material = null;
/**
* setメソッドで製品の生産地域($production_area)を保存できるようにする。
* 値が設定されなかった場合、nullに設定される。
*
* @param string $product_material|null
*
* @return Product
*/
public function setProductMaterial($product_material = null)
{
$this->product_material = $product_material;
return $this;
}
/**
* getメソッドで製品の生産地域($production_area)を取り出せるようにする。
* 値が設定されていない場合、nullを返す。
*
* @return string|null
*/
public function getProductMaterial()
{
return $this->product_material;
}

}
yuh
投稿日時: 2023/9/11 18:15
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: 既存テーブルに新しい項目を<複数>追加する方法
引用:
/*Janコード*/
/**
* @var string
*
* @ORM\Column(name="jan_code", type="string", length=255, nullable=true)
*/
private $jan_code = null;


こんな感じで追記していく必要があります。


----------------


http://ec-lab.net/

kumaan
投稿日時: 2023/9/12 10:54
対応状況: 解決済
新米
登録日: 2023/9/11
居住地:
投稿: 9
Re: 既存テーブルに新しい項目を<複数>追加する方法
神様

教えて頂いた通り、コメント部分を追記したらあっさり反映されました。ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,886名です
総投稿数は110,000件です

投稿数ランキング

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.