марьяжное

Поженил ActiveForm и несколько chosen-select на одной странице. Люблю себя.

Подсказка — как поиметь свальный грех в одном приложении. Только забыли написать, что вся эта радость вбивается в config/web.php.

'components' => [
    'db1' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=db1name',
        'username' => 'db1username',
        'password' => 'db1password',
    ],
    'db2' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'mysql:host=localhost;dbname=db2name',
        'username' => 'db2username',
        'password' => 'db2password',
    ],
]

графичненько

Top Campaigns Todays
Сделал графики в проекте. Чудесная либа, завелась с полпинка.

на память

В yii2, как известно, переписаны все классы. На мой взгляд, управление выборками из БД стало удобней чем в yii1, хоть и, по традиции, все закопано под горой кода. Например, теперь where и order by пишутся так:

// find the customer whose ID is 1
$customer = Customer::find()->where(['id' => 1])->one();
// find all active customers and order them by their age:
$customers = Customer::find()
    ->where(['status' => 1])
    ->andWhere('age>30')
    ->orderBy('age')
    ->all();

По between теперь так, например:

$model = User::find()
		->select('username')
		->asArray()
		->where('userid between 1 and 5')
		->all();

Но я не стал заморачиваться и сделал по-рабоче-крестьянски, через findBySql(). Интересная заметка пригодилась для осмысления процесса. Но сделал опять по-сермяжьи, так надежней, имхо.

'query'=>qqWeek::findBySql('SELECT * FROM qq
 WHERE date between now()-interval 7 day and now()+0
 group by qq
 order by ww desc')

ps А вот есть интересная новость — телеграм подженили на малинке, что есть крайне гуд, это дает возможность построить систему сообщений из умного дома.

pps Из-за вылезшего косяка во вьюхе — грид нумерует страницы как попало — пришлось до конца разобраться в active record и active query. Почитал код класса и сделал контроллер как ножом по маслу.

        $dataProvider = new ActiveDataProvider([
            'query' => TopQqAllTime::find()
        			->orderBy(['ww'=>SORT_DESC])
        			->groupBy('qq')
        			->select('qq,sum(ww) AS ww')]);

Ман по AR is тута. А ‘->all()’ превращает сталь в жесть, после него хоть потоп — массив. Помни об этом, играя регтайм.