回答編集履歴

2

containで無駄にReserveを取得していたのを修正

2016/01/15 07:16

投稿

退会済みユーザー
test CHANGED
@@ -4,7 +4,11 @@
4
4
 
5
5
 
6
6
 
7
- こんなのでどうでしょう?
7
+ JOIN後、WHERE絞込を行います。
8
+
9
+ ReserveのデータはJOINで取得しているのでContainは空を指定して下さい。
10
+
11
+ 代わりにfieldsで欲しいカラムを指定します。
8
12
 
9
13
  ```PHP
10
14
 
@@ -12,13 +16,15 @@
12
16
 
13
17
  $condition = array( 'limit' => 20
14
18
 
15
- , 'order' => array('Customer.id DESC')
19
+ , 'order' => array('Customer.id DESC')
16
20
 
17
- , 'contain' => array('Reserve')
21
+ , 'contain' => array()
18
22
 
19
- , 'conditions' => array('Reserve.start >= ?' => date('Y-m-d H:i:s')) // ここがWHERE文になる
23
+ , 'fields' => array('Customer.id', 'Reserve.id')
20
24
 
25
+ , 'conditions' => array('Reserve.start >= ?' => date('Y-m-d H:i:s'))
26
+
21
- , 'joins' => array(array( 'table' => 'reserves'
27
+ , 'joins' => array(array( 'table' => 'reserves'
22
28
 
23
29
  , 'alias' => 'Reserve'
24
30
 

1

推敲

2016/01/15 07:16

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,6 @@
1
1
  「hasMany先のテーブルに条件を指定してもメインテーブルの取得件数は変わらない、
2
2
 
3
- なので結合後にReserveの条件で絞りたい」ということでいいですかね?
3
+ なので結合後にhasMany先テーブルの条件で絞りたい」ということでいいですかね?
4
4
 
5
5
 
6
6