質問 > 管理機能 > productエンティティにoneToOneのリレーションを追加する方法を教えてください。 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ikedacovic |
投稿日時: 2017/4/8 12:41
対応状況: −−−
|
新米 登録日: 2016/10/23 居住地: 投稿: 6 |
productエンティティにoneToOneのリレーションを追加する方法を教えてください。 ▼テンプレート
[EC-CUBE] EC-CUBE 3.0.14 [レンタルサーバ] ローカル [PHP] 7.1.0 [データベース] MySQL 5.6.34 [WEBサーバ] Apache/2.2.31 現在、プラグインを作成しているのですがDB周りが苦手で困っています。 ProductEntityにoneToOneのリレーションで新しいEntity(SampleTable)を追加したいのですが、 本体のソースに変更を加えない前提でプラグイン側のdcm.ymlに以下のように記述しています。 以下の記述だと、登録した、リレーションされたProductEntityのproduct_idも一緒に登録はできたのですが その「登録されたproduct_idで、追加テーブルのデータを取得」できません。 以下の記述で見直すべきところはありますでしょうか? Plugin\SampleTable\Entity\SampleTable: type: entity table: plg_sample_table repositoryClass: Plugin\RentalSystem\Repository\SampleTableRepository id: id: type: integer nullable: false options: unsigned: false id: true fields: sample_table_column: type: integer nullable: false created_at: type: datetime nullable: true updated_at: type: datetime nullable: true oneToOne: Product: targetEntity: Eccube\Entity\Product inversedBy: SampleTable joinColumn: name: product_id referencedColumnName: product_id nullable: false options: unsigned: true lifecycleCallbacks: {} |
hmorita_j |
投稿日時: 2017/4/8 12:44
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: productエンティティにoneToOneのリレーションを追加する方法を教えてください。 取得しているところのソースはどのようになっていますか?
|
ikedacovic |
投稿日時: 2017/4/8 12:57
対応状況: −−−
|
新米 登録日: 2016/10/23 居住地: 投稿: 6 |
Re: productエンティティにoneToOneのリレーションを追加する方法を教えてください。 ご質問ありがとうございます。
取得箇所はこんな感じです。 >>>>プロダクトテーブルのproduct_idを取得 $product_id = $event->getArgument('Product)->getId(); >>>新規追加したレポジトリを取得 $sampleRepo = $app['plugin.sampletable.repository']; >>>新規取得したレポジトリから、一番上で取得した$product_idと、SampleTableにマッピング(?)された[ [product_id](SampleTableにこのようなカラムが自動で作成されていました)の値が一致するものを取得 $Target = $sampleRepo->findOneBy(array('product_id' => $product_id)); このような感じでいけるかと思ったのですが、ダメなようなのです。 |
hmorita_j |
投稿日時: 2017/4/8 13:04
対応状況: −−−
|
長老 登録日: 2017/3/3 居住地: 沈黙の巨大都市松戸 投稿: 222 |
Re: productエンティティにoneToOneのリレーションを追加する方法を教えてください。
これではどうですか? |
ikedacovic |
投稿日時: 2017/4/8 13:09
対応状況: −−−
|
新米 登録日: 2016/10/23 居住地: 投稿: 6 |
Re: productエンティティにoneToOneのリレーションを追加する方法を教えてください。 ありがとうございます。
せっかくすぐにお答えいただいたのに大変申し訳ないのですが、後ほど試させていただきます! 結果をまたこちらにレスさせていただきますのでよろしくお願いいたします! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |