我正在使用CakePHP 3.4根據cakephp中按日期分組的計數得到結果3
我正在構建一些使用API密鑰的應用程序。一鍵每天只能撥打100個電話,所以我使用多個鍵並想循環播放。
在我的控制,我打電話模型的函數來獲取API
$api_key = $this->CustomApi->getKey();
if (!$api_key) {
$this->Flash->error(__('API key not found'));
} else {
...
}
在模型CustomApi
我想寫getKey()
功能,將查找通話一天的計數小於100的API密鑰。 custom_api
表
列是id
,api_key
和通話記錄在api_calls
表中的列是id
,user_id
,custom_api_id
,created
每次需要API的用戶訪問函數,在api_calls
表中創建了一個記錄,並且已經創建了時間調用表和custom_api的主鍵。
我的問題是,如何從他們的呼叫計數小於100的那一天CustomApi
模型得到的API密鑰
編輯2(即今天):我嘗試
$key = $this
->find()
->select(['CustomApi.id', 'CustomApi.api_key'])
->where(['CustomApi' => /* count is less than 100 */])
->leftJoinWith('ApiCalls', function ($q) {
return $q->where(['ApiCalls.created' => date('Y-m-d')]);
})
->group('CustomApi.id');
如何計算where
?
與'ApiCalls'的左連接,其中'created'在今天的界限中,通過其主鍵對組「CustomApi」進行分組,並且僅選擇具有小於100的「ApiCalls」計數的那些'CustomApi'。 – ndm
好吧,試着你說的 –
你好ndm,請檢查'編輯2'。對你說的是否正確?如何在「哪裏」計數。我嘗試了谷歌搜索,但沒有發現。 –