質問するログイン新規登録

質問編集履歴

3

修正

2016/07/06 04:41

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  public function view($id = null) {
54
54
  // 結果を取得する
55
- $studio = $this -> Studios -> get($id, ['contain' => ['KbnMasters']]);
55
+ $aa = $this -> AA-> get($id, ['contain' => ['KbnMasters']]);
56
56
  }
57
57
 
58
58
  ```

2

修正

2016/07/06 04:41

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
@@ -1,34 +1,25 @@
1
1
  ###前提・実現したいこと
2
2
  同じテーブルの区分情報をJoinしてデータを取得したいと思っています。
3
3
  そのため、belongsToを使用し、発行したSQLが別名となるようにしたい
4
- 現在発行されるSQLだと//studio_kbnの箇所が上書きされて//apply_kbnの箇所のSQLのみが発行されてしまう
4
+ 現在発行されるSQLだと//km_Aの箇所が上書きされて//km_Bの箇所のSQLのみが発行されてしまう
5
5
 
6
6
 
7
7
  よろしくお願いします。
8
8
 
9
- ###テーブル構成
10
- studios(店舗マスタ)
11
- id|studio_nm|studio_kbn|apply_kbn
12
-
13
- kbn_masters(区分マスタ)
14
- id|subjectid|subject_name|kbnid|kbn_name
15
-
16
- 店舗マスタのstudio_kbnに対応する区分マスタはsubjectidが3のもので、apply_kbnに対応する区分マスタはsubjectidが4となります。
17
-
18
9
  SQL取得イメージ
19
10
  ```sql
20
11
  select
21
- studio.*
12
+ AA.*
22
- , km_studio.kbn_name
13
+ , km_A.kbn_name
23
- , km_elevator.kbn_name
14
+ , km_B.kbn_name
24
15
  from
25
- studio
16
+ AA
26
- left outer join kbn_master km_studio
17
+ left outer join kbn_master km_A
27
- on km_studio.subject_id = 3
18
+ on km_A.subject_id = 3
28
- and km_studio.kbn_id = studio.studio_kbn
19
+ and km_A.kbn_id = AA.c_kbn
29
- left outer join kbn_master km_elevator
20
+ left outer join kbn_master km_B
30
- on km_elevator.subject_id = 4
21
+ on km_B.subject_id = 4
31
- and km_elevator.kbn_id = studio.elevator_kbn
22
+ and km_B.kbn_id = AA.d_kbn
32
23
  ;
33
24
 
34
25
  ```
@@ -40,16 +31,16 @@
40
31
  public function initialize(array $config)
41
32
  {
42
33
 
43
- //studio_kbn
34
+ //km_A
44
35
  $this -> belongsTo('KbnMasters', [
45
36
  'bindingKey' => 'kbnid',
46
- 'foreignKey' => 'studio_kbn',
37
+ 'foreignKey' => 'km_A',
47
38
  'conditions'=>['subjectid' => '3' ],
48
39
  'joinType' => 'LEFT']);
49
- //apply_kbn
40
+ //km_B
50
41
  $this -> belongsTo('KbnMasters', [
51
42
  'bindingKey' => 'kbnid',
52
- 'foreignKey' => 'apply_kbn',
43
+ 'foreignKey' => 'km_B',
53
44
  'conditions'=>['subjectid' => '4' ],
54
45
  'joinType' => 'LEFT']);
55
46
  }

1

初心者マークを追加

2016/07/06 04:32

投稿

XYZA
XYZA

スコア20

title CHANGED
File without changes
body CHANGED
File without changes