2017-11-06 10 views
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' 

答えて

0

としてデータベースエラーが発生します。

関連する問題