バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 会員情報にチェックボックスで複数の選択項目追加時の対応

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yamu16
投稿日時: 2021/3/2 19:51
対応状況: −−−
新米
登録日: 2021/1/13
居住地:
投稿: 6
会員情報にチェックボックスで複数の選択項目追加時の対応
▼テンプレート
[EC-CUBE]:4.0.5新規

下記HPの趣味のように、マスターに追加した項目を会員情報に紐付けたいです。
https://ecnomikata.com/column/9830/

■現状
マスターに新規テーブルmtb_hobby(1)と、カスタマーIDと左記のマスターIDを紐付けるテーブルdtb_customer_hobby(2)を作成済。

ProductType.phpを参考にEntryType.phpに対して
下記を追記
use Customize\Entity\Hobby;
use Customize\Repository\HobbyRepository;

->add('customer_hobby', ChoiceType::class, [
'choice_label' => 'Name',
'multiple' => true,
'mapped' => false,
'expanded' => true,
'choices' => $this->HobbyRepository->getList(),
'choice_value' => function (Hobby $Hobby = null) {
return $Hobby ? $Hobby->getId() : null;
},
])

HobbyRepository.phpでは下記を定義済
public function getList()
{
$qb = $this->createQueryBuilder('cn')
->orderBy('cn.sort_no', 'DESC');
$ClassNames = $qb->getQuery()
->getResult();
return $ClassNames;
}

この状態で試しに取得してみたところ
Call to a member function getList() on null
と、エラーとなりました。
(1)のマスター上には6点ほどデータを追加し、
(2)は空の状態です。


■質問
1)データの取得時のどこに誤りがあるのでしょうか?
2)おそらく、この先も詰まりそうなデータの更新に向けて、本件の参考となるサイトがありましたら教えて下さい。
tsuji
投稿日時: 2021/3/4 10:01
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 936
Re: 会員情報にチェックボックスで複数の選択項目追加時の対応
yamu16 様

1)データの取得時のどこに誤りがあるのでしょうか?

> Call to a member function getList() on null

なので、オブジェクトが生成されていないと思います。
つまり$this->HobbyRepositoryの中身がnullではないかと思います。
dumpで出力して確認してみてはいかがでしょうか。

もしそうでしたら、__constructで$this->HobbyRepositoryに値を入れているかをご確認ください。


ご参考になれば幸いです。


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

yamu16
投稿日時: 2021/3/4 20:27
対応状況: −−−
新米
登録日: 2021/1/13
居住地:
投稿: 6
Re: 会員情報にチェックボックスで複数の選択項目追加時の対応
tsuji 様
ご助言ありがとうございました。

__constructを試した所、無事にマスターデータを取得できました。

キャッシュを消す必要があると気づくのに時間がかかりました。

発生エラー:Type error: Argument 1 passed to Eccube\\Form\\Type\\Front\\EntryType
で、HobbyRepositoryとEccubeConfigが違うと。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は71,530名です
総投稿数は101,305件です

投稿数ランキング

1
seasoft
7333
2
468
2998
3
AMUAMU
2712
4
nanasess
2147
5
umebius
2000
6
yuh
1612
7
red
1449
8
h_tanaka
1080
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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