2015-09-26 1 views
2

Как использовать функцию max с условием?CakePHP 3 Query Builder - Как использовать функцию max с условием?

Это как следующий ответ в Translate SQL query to CakePHP 3.0, но в моем случае мне нужно использовать максимальную функцию и положение случая (или любую другую форму условия):

$options['contain'] = array('Users'); 
$query = $this->Pictures->find('all', $options); 
$query->select(['Users.username', 'Users.plan', 'Users.id']); 
$query->select(['sum' => $query->func()->sum('size'),]) 
     ->select(['count' => $query->func()->count('*'),]) 
     ->select(['facebook' => $query->func() 
      ->count('case when type = \'facebook\' then 1 else null end'),]) 
     ->select(['instagram' => $query->func() 
      ->count('case when type = \'instagram\' then 1 else null end'),]) 
     ->select(['device' => $query->func() 
      ->count('case when type = \'device\' then 1 else null end'),]) 
     ->group('user_id'); 

return $query; 

Спасибо за все.

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^