Зачем нужен ActiveQuery в Yii2?
Если быть более, конкретным, зачем нужна эта опция, при генерации модели через Gii?
Чтобы вы могли добавить свои кастомные методы или переопределить родные (all(), one() и другие, короче переопределить родной ActiveQuery и изменить на свои абстракции)
Вот пример контроллера:actual() -- такого метода нет в ORM, а мне нужен, ну вот хочу так пользоваться:$trainings = Training::find()->actual($date);ActiveQuery
Ну раз нужен -- добавляем такой методclass TrainingQuery extends \yii\db\ActiveQuery
{
    public function actual($date)
    {
        return
            $this->alias('t')
            ->joinWith(['lesson l' => function($q){
                $q->joinWith('studio s');
            }])
            ->andWhere(['l.active' => 1])
            ->andWhere(['s.active' => 1])
            ->andWhere(['t.date' => $date])
            ->all();
    }
}Сущность
В сущности перенацеливаем  родной  find() на мой кастомныйclass Training extends \yii\db\ActiveRecord
{
...
public static function find()
    {
        return new \mynamespace\entities\query\TrainingQuery(get_called_class());
    }
Например, для такого: 
https://github.com/samdark/yii2-cookbook/blob/mast...
Или для вьізова цепочек типа: User::find()->active()->haveSale()->bornToday()->all();