• Как перехватить вывод данных в браузер Yii2?

    @vnpp
    попробуйте
    <?php
    ob_start();
    echo $order->lala->topolya;
    $out = ob_get_clean();
    ?>
    Ответ написан
  • Как лучше хранить телефонный номер в БД?

    @vnpp
    Если следовать рекомендация по связи (см. Телефонные коды стран, Телефонный план нумерации), целесообразно хранить полный номер (+добавочный). Полный номер состоит из кода зоны и внутренних номеров, итоговая длина 11 цифр, для отдельной страны (локализованных систем) код зоны от 1 до 3 цифр хранить смысла нет. Итого, под полный номер подходит int8, под локальные может и int4 подходить.
    Для добавочных номеров - отдельное поле, тут кто во что горазд.
    Номера начинающиеся с нолей, как правило, местные (открытый план нумерации), хранить их нет смысла, т.к. позвонить по ним возможно только находясь в том же регионе.
    Корректнее хранить полный номер и, при необходимости, отдельно, правила преобразования полного номера в местные и обязательно ограничения где это работает.
    Хранение в int позволяет на уровне БД исключить ошибки ввода без использования regexp на каждый insert/update, более удобно хранить непрерывные диапазоны.
    Однако, если не хранить "весь мир", слабо ощутимая выгода от перехода со string на int при хранении справочника номеров.
    Ответ написан
    Комментировать
  • Как связать datalist с MaskedInput в YII2?

    @vnpp Автор вопроса
    код
    echo MaskedInput::widget([
                'name' => 'tel',
                'value'  => !empty($mytel) ? (string) $mytel: '',
                'mask' => '+7 (999) 999-99-99',
                'options' => ['list' => 'tel_old'],
                ]);
    echo '<datalist id="tel_old">';
    echo Html::renderSelectOptions(null,['+7 (495) 123-45-67']);    
    echo '</datalist>';
    Ответ написан
    Комментировать
  • Как отфильтровать данные по промежуточной таблице-связке (hasMany/hasOne с via/viaTable) в модели Yii2?

    @vnpp Автор вопроса
    Наиболее гибкий вариант - выполнить самостоятельно все JOIN'ы и фильтровать по любым полям промежуточных таблиц.
    Ответ написан
    Комментировать
  • Как в Yii2 настроить фильтр по связанным таблицам?

    @vnpp
    Вероятно вам необходимо выполнить несколько раз - по количеству групп фильтруемых атрибутов (корректируя каждый раз имя присоединяемой таблицы через from).
    $query->joinWith(...)
    И уже для присоединённых таблиц проверять условия.
    Ответ написан
  • Почему не обновляются данные таблицы в Yii2?

    @vnpp
    Необходимо выполнить проверку результата вызов
    $user->update()
    который, в отличие от save() возвращает FALSE или количество измененных записей, а save() только TRUE/FALSE.
    При валидации данные могут быть отвергнуты.
    Ответ написан
    Комментировать