Найдено 683 результата

Alexum
2019.08.09, 17:21
Форум: Общие вопросы (Yii 2.x)
Тема: Запрос в Yii2
Ответы: 5
Просмотры: 1683

Re: Запрос в Yii2

Что значит фильтровать последовательно? Вы написали запрос: SELECT COUNT(*) FROM `blog` LEFT JOIN `blog_field` ON blog_field.message = blog.id WHERE (blog_field.field = 481 and blog_field.value >= 0) AND (blog_field.field = 509 and blog_field.value >= 0); , который в принципе не может ничего вернуть...
Alexum
2019.08.09, 17:06
Форум: Общие вопросы (Yii 2.x)
Тема: Запрос в Yii2
Ответы: 5
Просмотры: 1683

Re: Запрос в Yii2

между двумя условиями нужно использовать OR а не AND, соответственно использовать по ситуации конструкции с ->orWhere() или ->andWhere(['OR', [условие 1], [условие2]]).
Alexum
2019.08.09, 15:56
Форум: Общие вопросы (Yii 2.x)
Тема: AfterSaveEvent $changedAttributes возвращает не измененные данные.
Ответы: 4
Просмотры: 1298

Re: AfterSaveEvent $changedAttributes возвращает не измененные данные.

Можно через фильтр в массиве rules

Код: Выделить всё

[[...массив имён интовых атрибутов...], 'filter', 'filter' => function ($value) {
      return $value !== null && $value !== '' ? (int)$value : null;
}],
Alexum
2019.08.09, 15:37
Форум: Общие вопросы (Yii 2.x)
Тема: AfterSaveEvent $changedAttributes возвращает не измененные данные.
Ответы: 4
Просмотры: 1298

Re: AfterSaveEvent $changedAttributes возвращает не измененные данные.

В БД у этих полей какой тип? Поля модели могут заполняться строками например при загрузке модели из POST в контроллере $model->load(Yii::$app->request->post().
Alexum
2019.08.09, 13:13
Форум: Общие вопросы (Yii 2.x)
Тема: Проблема с добавлением валидации поля.
Ответы: 4
Просмотры: 1884

Re: Проблема с добавлением валидации поля.

leonenco писал(а): 2019.08.09, 12:10 а почему вы функцию квотите?
Он квотит, т.к. 'whenClient' принимает на вход строку с JS-кодом.
Alexum
2019.08.09, 10:27
Форум: Общие вопросы (Yii 2.x)
Тема: Связи текущей Модели не передаются в email темплейт [Решено]
Ответы: 20
Просмотры: 4421

Re: Связи текущей Модели не передаются в email темплейт

Внесу свои 5 копеек - у вас action получился достаточно перегруженным, с вызовом множества вспомогательных методов, сильной вложенностью и дублирующимся кодом. Не задумывались о рефакторинге с вынесением некоторых вещей из контроллера?
Alexum
2019.08.08, 17:51
Форум: Общие вопросы (Yii 2.x)
Тема: События в yii2
Ответы: 47
Просмотры: 10854

Re: События в yii2

Я предпочитаю записывать через afterSave(). Плюсы такого подхода: гибкость (можно фильтровать, что и как записывать в лог и хранить в сериализованном виде), сохранять новое и старое значение, записывать не id связанных элементов а их текстовые названия. Это позволяет вести журнал любых изменений с п...
Alexum
2019.08.05, 21:15
Форум: Общие вопросы (Yii 2.x)
Тема: Console applications failed
Ответы: 3
Просмотры: 1376

Re: Console applications failed

Сообщение как бы намекает, что памяти не хватает. Судя по тому что приложение консольное а ошибка возникает в /home/.../vendor/kartik-v/yii2-grid/GridView.php, могу предположить, что через консоль какое-то представление экспортируете. Похоже слишком много данных и не хватает памяти для формирования ...
Alexum
2019.08.05, 16:50
Форум: Общие вопросы (Yii 2.x)
Тема: Navbar подуровень
Ответы: 2
Просмотры: 1014

Re: Navbar подуровень

параметром 'items' => [ ...структура подменю ], а вообще есть поиск.
Alexum
2019.08.05, 15:18
Форум: Общие вопросы (Yii 2.x)
Тема: Проблема с добавлением валидации поля.
Ответы: 4
Просмотры: 1884

Re: Проблема с добавлением валидации поля.

Какие ещё валидаторы висят на полях во втором варианте? "Вообще не реагирует" - это как, сохраняет модель без обоих заполненных полей?
Alexum
2019.08.02, 13:08
Форум: Общие вопросы (Yii 2.x)
Тема: Не работают условная валидация и собственная валидация
Ответы: 4
Просмотры: 1392

Re: Не работают условная валидация и собственная валидация

yura1976 писал(а): 2019.08.02, 12:39 Еще бы с собственной валидацией разобраться. Было бы вообще супер
А что в этом поле? Если пустое, то валидатор не сработает пока 'skipOnEmpty' => false не добавить.
Alexum
2019.08.02, 12:16
Форум: Общие вопросы (Yii 2.x)
Тема: Не работают условная валидация и собственная валидация
Ответы: 4
Просмотры: 1392

Re: Не работают условная валидация и собственная валидация

По-умолчанию валидатор required работает на стороне клиента силами JS в самом простом своём виде. Параметр 'when' используется при валидации на стороне сервера. Т.е. до вашего условия дело не доходит. Тут либо отключать JS-валидацию для поля, добавив к правилу 'enableClientValidation' => false, либо...
Alexum
2019.08.01, 16:43
Форум: Общие вопросы (Yii 2.x)
Тема: controller список actions
Ответы: 1
Просмотры: 708

Re: controller список actions

Через рефлексию: $actions = []; $class = new \ReflectionClass(self::class); foreach ($class->getMethods() as $method) { $name = $method->getName(); if ($method->isPublic() && !$method->isStatic() && strpos($name, 'action') === 0 && $name !== 'actions') { $actions[] = $name; }...
Alexum
2019.08.01, 15:53
Форум: Общие вопросы (Yii 2.x)
Тема: Есть ли решение для склонения ФИО для yii2? [Решено]
Ответы: 5
Просмотры: 1747

Re: Есть ли решение для склонения ФИО для yii2? [Решено]

...или согласовать изменение с именительным падежом и вам и пользователям будет меньше геморроя.
Alexum
2019.08.01, 14:18
Форум: Общие вопросы (Yii 2.x)
Тема: Куда yii кеширует данные ?
Ответы: 2
Просмотры: 761

Re: Куда yii кеширует данные ?

Значение "@runtime/cache" выставлено по умолчанию для файлового кэша. Сперва определите что за кэш используется, изучите конфиги. По факту он может быть где угодно, может быть как распределённым (настроен раздельно для каждого компонента (backend/frontend и т.п.)) так и объединённым (смотр...
Alexum
2019.08.01, 12:56
Форум: Общие вопросы (Yii 2.x)
Тема: Есть ли решение для склонения ФИО для yii2? [Решено]
Ответы: 5
Просмотры: 1747

Re: Есть ли решение для склонения ФИО для yii2?

Предлагаю вам сразу бросить эту затею и согласовать нормальную форму, где всё будет в именительном падеже. Даже если что-нибудь прикрутите будут встречаться экзотические/интернациональные не склоняемые или хитронаписанные ФИО.
Alexum
2019.07.31, 16:17
Форум: Общие вопросы (Yii 2.x)
Тема: Как произвести сохранение связанных данных?
Ответы: 3
Просмотры: 1315

Re: Как произвести сохранение связанных данных?

Писал на коленках, но общий вид может быть таким: PS. Это такой rapid-вариант, по хорошему контроллер должен быть намного тоньше а генерация ошибок и работа с транзакциями убрана в модели и хелперы. public function actionCreate() { $model = new Accept(); $address = new Address(); if ($model->load(Yi...
Alexum
2019.07.31, 14:25
Форум: Общие вопросы (Yii 2.x)
Тема: Как произвести сохранение связанных данных?
Ответы: 3
Просмотры: 1315

Re: Как произвести сохранение связанных данных?

Можно начать с того, что вы расскажите про волшебный $accept->id и откуда оно берётся. Может там $model->id должен быть или во всём методе вместо $model должна использоваться переменная $accept. И тогда всё становится понятным, ибо сперва вы записываете туда id нового экземпляра Accept, и в этот мом...
Alexum
2019.07.31, 10:06
Форум: Общие вопросы (Yii 2.x)
Тема: Как правильно реализовать передачу данных в gridview yii2?
Ответы: 3
Просмотры: 915

Re: Как правильно реализовать передачу данных в gridview yii2?

Можно заранее получать данные из провайдера через $dataProvider->getModels(). Далее проходим по полученному массиву моделей и в каждой анализируем набор параметров в attributes. Как только встречается новый атрибут - формируем новый элемент в массиве $columns с его выводом (выводим значение в 'value...
Alexum
2019.07.26, 11:22
Форум: Общие вопросы (Yii 2.x)
Тема: глобально в gridview настроить поле [Решено]
Ответы: 11
Просмотры: 2684

Re: глобально в gridview настроить поле

svil писал(а): 2019.07.25, 23:14 Выводится пустая строка.
Ещё раз сделаю акцент на ваших же словах, не должна она пустой при обычных условиях выводиться. Значит значение не null или может как-то специфично выводите или с данными манипулируете. Нужно смотреть на код.