• Yii framework, свой controller/action как домашняя страница

    По умолчанию за домашнюю страница в Yii отвечает "site/index". Если вы хотите использовать другой контроллер, модуль или вид для домашней страницы, то необходимо поправить urlManager в файле конфигураций config/main.php:

    //...
    'components' => array(
        'urlManager' => array(
            'rules' => array(
                '' => 'myDefaultHomePage/homePage',
                //....
            ),
        ),
    ),
    //...
    

    28 сентября 2016 г.     0     2045     кодер.укр         Yii Framework    

    Подробнее...
  • Yii2, Order by RAND

    Для получения случайной (случайных) записи (записей) из модели в Yii2 есть несолько вариантов.

    1-й, простой, но не совсем правильный:

    $model = YourModelName::find()->orderBy('rand()')->one();
    

    2-й, простой, более правильный:

    use yii\db\Expression;
    //...
    $model = YourModelName::find()->orderBy(new Expression('rand()'));
    

    26 сентября 2016 г.     0     3319     Yehor Rykhnov         Yii Framework 2, yii2    

    Подробнее...
  • Yii2, проверка существование записи используя ActiveRecord

    Для проверки существования записи в таблице при помощи ActiveRecord в Yii2, используйте следующий код:

    User::find()->where(['email' => 'user@devreadwrite.com'])->exists();
    

    24 сентября 2016 г.     0     7464     кодер.укр         Yii Framework 2, yii2    

    Подробнее...
  • Yii relations, Invalid argument supplied for foreach()

    К примеру есть таблица связей, которая содержит несколько полей, id записи и id тега. Соответственно связь модели записей будет выглядеть примерно так:

    'postsTagRelations' => array(self::HAS_MANY, 'PostsTagRelations', 'postsId'),
    

    При выводе списка свзей (записей):

    var_dump($model->postsTagRelations);
    

    Получаем ошибку: Invalid argument supplied for foreach()

    А все дело в том, что в таблице связей нет первичного ключа (PK), как оказывается Yii этого не любит. Добавляем первичный ключ (PK) и все заработает.

    Естественно таблицы без PK могут быть использованы, но не в данном случае.

    23 сентября 2016 г.     0     2017     кодер.укр         Yii Framework    

    Подробнее...
  • Как получить текущую версии Yii

    Для того, чтобы получить текущую версии Yii используется метод getVersion():

    echo Yii::getVersion();
    

    22 сентября 2016 г.     0     1676     кодер.укр         Yii Framework, Yii Framework 2, yii2    

    Подробнее...
  • Yii2, не работает класс NumberFormatter

    Проблема:

    Yii: PHP Fatal Error – yii\base\ErrorException Class ‘NumberFormatter’ not found

    Решение:

    Откройте ваш php.ini, найдите и раскоментируйте строку:

    extension=php_intl.dll

    Сохраните изменение и перезапустите веб сервер.

    22 сентября 2016 г.     0     3649     кодер.укр         Yii Framework 2, yii2    

    Подробнее...
  • Yii2, получить id текущего (активного) пользователя

    Yii::$app->user->getId();
    

    22 сентября 2016 г.     0     5683     кодер.укр         Yii Framework 2, yii2    

    Подробнее...
  • Yii2, пример работы с транзакциями

    Простой пример работы с транзакциями в yii2:

    $db = \Yii::$app->db;
    $transaction = $db->beginTransaction();
    try {
        //... работа с БД, пример: yourARModel::deleteAll();
        $transaction->commit();
    } catch (Exception $e) {
        $transaction->rollback();
    }
    

    22 сентября 2016 г.     0     7598     кодер.укр         Yii Framework 2, yii2    

    Подробнее...