0
私はCakePHP 3.4+CakePHP 3に収容可能なフィルタ
私は次の表とその関連を持っています。
ポストビデオ - > belongsTo(キャンペーン)|| > hasManyの(ClientCampaigns)|| - PostVideosカラムCAMPAIGN_ID
キャンペーンを有しますClientCampaignsカラムCAMPAIGN_ID
UserClients有する - > hasManyの(ClientCampaignsを)|| ClientCampaignsはが列が選択/ のclient_idでUserClients
上の条件でにPostVideosを数えるまで私が欲しいをCLIENT_IDありuser_client_id
UserClientsをcoumnました
しかし、それはあなたがあなたがcontain
をスキップすることができUserClients
ロードする必要がいけない場合はその
$userId=$this-Auth->user('id');
$this->Campaigns->PostVideos->find()
->matching('Campaings.ClientCampaings.UserClients',function(Query $query) use ($userId) {
return $query->where(['UserClients.client_id' => $userId])
}
->contain(['Campaigns.ClientCampaigns.UserClients'])
->count();
ためmatching
を使用する必要が
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'UserClients.client_id' in 'where clause'