Т.е. если делаем поиск только по конкретной дате то для поиска "только туда" спрашиваем одну дату, а для поиска "туда и обратно" спрашиваем две даты.
if($this->direction == 1){
$query->andWhere(['>=', 'date_start', $this->date_to ? strtotime($this->date_to . ' 00:00:00') : null])
->andWhere(['=', 'city_start_id', $this->city_to])
}
$query = new Query;
$query->select('*')->from('real_index')->where(['product_id' => $model->id)->one();
Если же использовать сторонний пакет, то указываете просто расположение файлов пакета и используете класс, который разработчик пакета написал.
Если автора вопроса смущает использования класса, то пусть сам пишет нужные файлы, ссылку я дал.
Зачем раздувать проблему на ровном месте и возмущаться "ненужностью" стороннего класса?
Да и про Html helper вопрос очень спорный...