質問 > フロント機能 > 会員情報にチェックボックスで複数の選択項目追加時の対応 |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
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が違うと。 |
tsuji |
投稿日時: 2021/3/4 10:01
対応状況: −−−
|
仙人 登録日: 2013/11/19 居住地: 投稿: 958 |
Re: 会員情報にチェックボックスで複数の選択項目追加時の対応 yamu16 様
1)データの取得時のどこに誤りがあるのでしょうか? > Call to a member function getList() on null なので、オブジェクトが生成されていないと思います。 つまり$this->HobbyRepositoryの中身がnullではないかと思います。 dumpで出力して確認してみてはいかがでしょうか。 もしそうでしたら、__constructで$this->HobbyRepositoryに値を入れているかをご確認ください。 ご参考になれば幸いです。
|
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)おそらく、この先も詰まりそうなデータの更新に向けて、本件の参考となるサイトがありましたら教えて下さい。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |