バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

機能要望 > その他 > Jobエンティティの取得方法について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2016/9/9 12:27
対応状況: −−−
Jobエンティティの取得方法について
バージョン3.0.10です。
プラグインを開発していてJobエンティティを容易に取得できなかったので、取得方法について質問させて下さい。

本来であれば、Jobエンティティの取得は、

#code1
$job = $app->['eccube.repository.master.job']->findOneBy(
array(
'name' => '公務員'
)
);

といった記述で取得できると思いますが、これでは取得できません。

調査した結果、Eccube\ServiceProvider\EccubeServiceProvider->register($app)にて、Jobリポジトリの登録が行われていません。よって取得できないのだと推察しています。

仕方がないので、作成しているプラグインのServiceProvider->register($app)に、

#code2
$app['eccube.repository.master.job'] = $app->share(
function() use($app){
return $app['orm.em']->getRepository('Eccube\Entity\Master\Job');
}
);

と記述する事で、#code1の記述でJobエンティティを取得できるようになりました。

Jobエンティティを取得できるようになり、プラグインが意図した動作を行えるようになりましたが、いくつかの疑問が湧いてきました。以下に記します。

1.本来であれば、#code2のコードがEccube\ServiceProvider\EccubeServiceProvider->register($app)に記述されており、個別のプラグインで#code2を記述する必要はないのでは?

2.もしくは、Jobエンティティの取得は禁忌されている事象で、取得してはいけない、だからJobリポジトリが登録されていないのではないか?

1と2、もしくは別の理由(例えば別の取得方法がある等)があって#code1の記述ではJobエンティティの取得ができないのでしょうか?

御教授の程、宜しくお願い致します。
red
投稿日時: 2016/9/9 12:56
対応状況: −−−
登録日: 2010/2/15
居住地: 東京都
投稿: 1570
Re: Jobエンティティの取得方法について
$app['orm.em']->getRepository('Eccube\Entity\Master\Job')->findOneBy

じゃダメなんでしょうか?


----------------
EC-CUBEのカスタマイズ、トラブル解決承ります
お気軽にお問い合わせ下さい
https://www.ec-cube.net/integrate/partner/partner.php?partner_id=690

ゲスト
投稿日時: 2016/9/9 14:09
対応状況: 解決済
Re: Jobエンティティの取得方法について
ご回答頂き、ありがとうございます。

試しに"$app['orm.em']->getRepository("でEC-CUBE3のファイル群を検索したところ、御提示下さった記述でリポジトリを取得しているファイルがいくつか抽出されました。

エンティティを取得する際は、先に挙げました#code1の記述がEC-CUBE3の作法と思っておりましたが、このような記述もありなのですね。
独自のプラグインで先に挙げました#code2のように$appに値を追加する事に不安もありましたので、御提示下さった取得方法を用いるようコードを修正します。

ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1294
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.