質問編集履歴
2
文言の微調整
test
CHANGED
File without changes
|
test
CHANGED
@@ -82,7 +82,7 @@
|
|
82
82
|
|
83
83
|
foreach ($query as $i => $job) {
|
84
84
|
|
85
|
-
//
|
85
|
+
// jobのmax = assign数の場合は除外
|
86
86
|
|
87
87
|
$num = $job->get_assign_num($job->id);
|
88
88
|
|
@@ -90,7 +90,7 @@
|
|
90
90
|
|
91
91
|
|
92
92
|
|
93
|
-
// 自身が
|
93
|
+
// 自身がassign済みのjobは除外
|
94
94
|
|
95
95
|
$res = $this->Jobs->check_my_assign($job->id, $this->Auth->user('id'));
|
96
96
|
|
1
具体的なコードの掲示
test
CHANGED
File without changes
|
test
CHANGED
@@ -48,6 +48,72 @@
|
|
48
48
|
|
49
49
|
```
|
50
50
|
|
51
|
+
追記
|
52
|
+
|
53
|
+
具体的には以下のコードを一度のクエリで実現をしたいです。
|
54
|
+
|
55
|
+
理由はpaginateコンポーネントが使用出来ないからです。
|
56
|
+
|
57
|
+
もしく$job_listをオブジェクトに変換してpaginateが使えるようでしたらその方法でも大丈夫です。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
```PHP
|
62
|
+
|
63
|
+
$query = $this->Jobs->find('search', [
|
64
|
+
|
65
|
+
'search' => $this->request->query,
|
66
|
+
|
67
|
+
'contain' => ['Assigns'],
|
68
|
+
|
69
|
+
'conditions' => [
|
70
|
+
|
71
|
+
'Jobs.date >=' => date("Y-m-d H:i:s", time()),
|
72
|
+
|
73
|
+
'Jobs.disabled' => 0
|
74
|
+
|
75
|
+
]
|
76
|
+
|
77
|
+
]);
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
$jobs = [];
|
82
|
+
|
83
|
+
foreach ($query as $i => $job) {
|
84
|
+
|
85
|
+
// 募集 = 予約は除外
|
86
|
+
|
87
|
+
$num = $job->get_assign_num($job->id);
|
88
|
+
|
89
|
+
if ($job->num <= $num) continue;
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
// 自身が予約済みのjobは除外
|
94
|
+
|
95
|
+
$res = $this->Jobs->check_my_assign($job->id, $this->Auth->user('id'));
|
96
|
+
|
97
|
+
if (!$res) continue;
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
$jobs[$i] = $job;
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
}
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
$job_list = $this->paginate($query);
|
110
|
+
|
111
|
+
```
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
51
117
|
|
52
118
|
|
53
119
|
よろしくお願いいたします。
|