バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > Entityのリレーションで値を直指定したい

その他

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
akako152
投稿日時: 2023/5/26 18:52
対応状況: 解決済
半人前
登録日: 2021/4/7
居住地: 東京都
投稿: 16
Re: Entityのリレーションで値を直指定したい
Entityのリレーションを設定する方法についてですが、ECCubeではDoctrine ORMを使用しており、リレーションを定義することができます。親テーブル(tableA)と子テーブル(tableB)のリレーションを張るためには、以下の手順を試してみてください。

エンティティクラス(Entity Class)にリレーションを定義します。親エンティティクラス(tableA)内に子エンティティクラス(tableB)とのリレーションを追加します。例えば、OneToManyやManyToOneのリレーションを使用することができます。

リレーションのカラムを指定します。親エンティティクラス内でtypeとtype_idのカラムに関連付けを行います。これにより、親エンティティと子エンティティの関連付けが可能になります。

例えば、以下のようにリレーションを設定することができます:

// tableAエンティティクラス
class TableA
{
// ...

/**
* @ORM\ManyToOne(targetEntity="TableB")
* @ORM\JoinColumn(name="type_id", referencedColumnName="id")
*/
private $tableB;

// ...
}

// tableBエンティティクラス
class TableB
{
// ...

/**
* @ORM\OneToMany(targetEntity="TableA", mappedBy="tableB")
*/
private $tableAs;

// ...
}

このようにリレーションを定義することで、親エンティティ(tableA)と子エンティティ(tableB)の関連付けが行われます。

もし、a.type = 2のように値を直接指定してリレーションを定義したい場合は、以下のようにカスタムクエリを使用することもできます:

// tableAエンティティクラス
class TableA
{
// ...

/**
* @ORM\ManyToOne(targetEntity="TableB")
* @ORM\JoinColumn(name="type_id", referencedColumnName="id")
* @ORM\JoinTable(name="tableB", joinColumns={@ORM\JoinColumn(name="type_id", referencedColumnName="id", nullable=false)})
* @ORM\Where("type = 2")
*/
private $tableB;

// ...
}

こちらの方法では、type = 2の条件でリレーションが設定されます。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   Entityのリレーションで値を直指定したい hono 2023/5/26 11:38
     Re: Entityのリレーションで値を直指定したい mcontact 2023/5/26 15:09
       Re: Entityのリレーションで値を直指定したい hono 2023/5/29 12:45
   » Re: Entityのリレーションで値を直指定したい akako152 2023/5/26 18:52
       Re: Entityのリレーションで値を直指定したい hono 2023/5/29 12:52
       Re: Entityのリレーションで値を直指定したい hono 2023/5/31 19:10

 



ログイン


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

統計情報

総メンバー数は89,503名です
総投稿数は110,106件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1656
8
red
1570
9
mcontact
1307
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.