Есть метод, который должен считать кол-во комментариев:
public function getCountComments() {
$condition = [];
if($this->post_id) {
$condition['post_id'] = $this->post_id;
}
if($this->type) {
$condition['type'] = $this->type;
}
return self::find()
->where($condition)
->count();
}
Все работает все отлично. Теперь мне нужно чуть расширить данный метод следующим образом. Я хочу добавить флаг периода и на основе его выводить кол-во комментариев за день например.
Тоесть как-то так:
public function getCountComments($period = false) {
$condition = [];
if($this->post_id) {
$condition['post_id'] = $this->post_id;
}
if($this->type) {
$condition['type'] = $this->type;
}
// Выборка за определенный период
if($period == 'day') {
return self::find()->where('date_create>=CURDATE()')->count();
}
return self::find()
->where($condition)
->count();
}
Но проблема в том, что я не могу правильно написать where.
То есть если $period == 'day' то нужно сделать выборку учитывая post_id, type и CURDATE().
Пробовал лепить туда addWhere или addCondition но не получилось. Подскажите, пожалуйста, как правильно составить такой запрос.