質問編集履歴
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -52,7 +52,7 @@
|
|
52
52
|
|
53
53
|
public function view($id = null) {
|
54
54
|
// 結果を取得する
|
55
|
-
$
|
55
|
+
$aa = $this -> AA-> get($id, ['contain' => ['KbnMasters']]);
|
56
56
|
}
|
57
57
|
|
58
58
|
```
|
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,34 +1,25 @@
|
|
1
1
|
###前提・実現したいこと
|
2
2
|
同じテーブルの区分情報をJoinしてデータを取得したいと思っています。
|
3
3
|
そのため、belongsToを使用し、発行したSQLが別名となるようにしたい
|
4
|
-
現在発行される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
|
-
|
12
|
+
AA.*
|
22
|
-
,
|
13
|
+
, km_A.kbn_name
|
23
|
-
,
|
14
|
+
, km_B.kbn_name
|
24
15
|
from
|
25
|
-
|
16
|
+
AA
|
26
|
-
left outer join kbn_master
|
17
|
+
left outer join kbn_master km_A
|
27
|
-
on
|
18
|
+
on km_A.subject_id = 3
|
28
|
-
and
|
19
|
+
and km_A.kbn_id = AA.c_kbn
|
29
|
-
left outer join kbn_master
|
20
|
+
left outer join kbn_master km_B
|
30
|
-
on
|
21
|
+
on km_B.subject_id = 4
|
31
|
-
and
|
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
|
-
//
|
34
|
+
//km_A
|
44
35
|
$this -> belongsTo('KbnMasters', [
|
45
36
|
'bindingKey' => 'kbnid',
|
46
|
-
'foreignKey' => '
|
37
|
+
'foreignKey' => 'km_A',
|
47
38
|
'conditions'=>['subjectid' => '3' ],
|
48
39
|
'joinType' => 'LEFT']);
|
49
|
-
//
|
40
|
+
//km_B
|
50
41
|
$this -> belongsTo('KbnMasters', [
|
51
42
|
'bindingKey' => 'kbnid',
|
52
|
-
'foreignKey' => '
|
43
|
+
'foreignKey' => 'km_B',
|
53
44
|
'conditions'=>['subjectid' => '4' ],
|
54
45
|
'joinType' => 'LEFT']);
|
55
46
|
}
|
1
初心者マークを追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|