バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > フロント機能 > EntityにDBの項目を増やし、Controllerで絞り込みしたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
boss12
投稿日時: 2016/3/18 13:31
対応状況: −−−
常連
登録日: 2016/2/17
居住地:
投稿: 53
EntityにDBの項目を増やし、Controllerで絞り込みしたい
ECCUBE3.0系で、EntityにDBの項目を増やし、Controllerで絞り込みしたいです。

やりたいこと::商品出力する際にデータベースのdtb_productのcreator_idが特定の数字のものだけを取り出したい。


上記のことを実行するため、Entity/Product.phpにcreator_idを追加し、コントローラーで、

$test = $app['orm.em']->getRepository('\Eccube\Entity\Product')
->findBy(
array(),
array('creator_id' => 1,
'id' => 'DESC')
);

とこんな感じでEntityから絞り込みしたいと思っています。


Entity/Product.phpにどのような記述をすれば良いのでしょうか?

また,Entity/Product.phpの420行目あたりからの、

private $id;
private $name;

などの変数はどこに定義されているのでしょうか?
$idで検索しても記述されていませんでした。



よろしくお願いいたします。
tacky
投稿日時: 2016/3/18 16:51
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: EntityにDBの項目を増やし、Controllerで絞り込みしたい
Entityに何かを追加した事がないのでわかりませんが、
creator_idで商品を取得したい場合は下記になると思います。
$hoge = $app['orm.em']->getRepository('\Eccube\Entity\Product')
->findBy(
array('Creator' => 1),
array('id' => 'DESC')
);

Entityの変数とDBのヒモ付けは下記ファイル内に定義されています。
src/Eccube/Resource/doctrine/Eccube.Entity.Product.dcm.yml
boss12
投稿日時: 2016/3/18 20:00
対応状況: −−−
常連
登録日: 2016/2/17
居住地:
投稿: 53
Re: EntityにDBの項目を増やし、Controllerで絞り込みしたい
tacky様。

ありがとうございます!!

上記で取得することができました。

しかし、なぜ'Creator' がcreator_idに値されるのでしょうか?

紐付けのymlファイルでの定義は
manyToOne:
Creator:
targetEntity: Eccube\Entity\Member
joinColumn:
name: creator_id
referencedColumnName: member_id
nullable: false

とありました。

ここからどうしたら
->findBy(
array('Creator' => 1),
array('id' => 'DESC')
);
この記述になることが分かったのでしょうか?

よろしくお願いいたしますm( )m
tacky
投稿日時: 2016/3/19 10:23
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: EntityにDBの項目を増やし、Controllerで絞り込みしたい
引用:


しかし、なぜ'Creator' がcreator_idに値されるのでしょうか?

紐付けのymlファイルでの定義は
manyToOne:
Creator:
targetEntity: Eccube\Entity\Member
joinColumn:
name: creator_id
referencedColumnName: member_id
nullable: false

とありました。


ymlファイルで定義されている通りにcreator_id(5行目)がCreator(2行目)になります。
Eccube\Entity\Memberのmember_idとリレーションしています。


Entityのrelationについては下記ドキュメントに記述されています。
http://symfony.com/doc/current/book/doctrine.html#entity-relationships-associations
boss12
投稿日時: 2016/3/19 13:12
対応状況: 解決済
常連
登録日: 2016/2/17
居住地:
投稿: 53
Re: EntityにDBの項目を増やし、Controllerで絞り込みしたい
tackyさま。

ありがとうございます。

nameが変数か何かだと勘違いしておりました。

大変助かりました。

ドキュメントを見て学びたいと思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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