Vladislav
и если все модели прошли валидацию, то делать инстрт
goffyara
но тут нет валидации
http://www.yiiframework.com/doc-2.0/yii-base-model.html#validateMultiple()-detail
Vladislav
ну да, можно и так
Vladislav
но суть та же
Vladislav
public static function validateMultiple($models, $attributeNames = null)
{
$valid = true;
/* @var $model Model */
foreach ($models as $model) {
$valid = $model->validate($attributeNames) && $valid;
}
return $valid;
}
Vladislav
пробиг по циклу
goffyara
да, уже написали за тебя цикл)
Vladislav
но я обычно иначе пишу
public static function validateMultiple($models, $attributeNames = null)
{
/* @var $model Model */
foreach ($models as $model) {
if (!$model->validate($attributeNames)) {
return false;
}
return true;
}
Vladislav
в таком случае, если у нас много моделей, но сломались на первой, то другие проверять не станем
Vladislav
но это не подойдет если нужны ошибки вех моделей
Vladislav
короче, все от ситуации
Vladislav
но чаще при мультиплВалидате нам особо ошибки не нужны. Важен факт их присутствия
Оксана
Новое!
#Вакансия, #php, #symfony.
Сервис поиска и заказа готовой еды и продуктов.
Обязанности: разработка эффективных, тестируемых и масштабируемых веб-приложений;
Стек технологий:
PHP 7, Symfony, Постгресс.
Условия работы:
Высокая заработная плата от 135 к.
Комфортно работаем: просторные опенспейсы, звукопоглощающие панели, дополнительные мониторы, мощное железо и макбуки, если нужно; вкусно кормят: в офисе есть ресторан с завтраками и обедами, а на каждом этаже есть 2 кухни, где всегда есть фрукты и ягоды, чай, кофе, кола; приятно отдыхаем: большая лаунж-зона, массажные кресла, бар со свежевыжатыми соками, качели, уголки с пледами и подушками, где можно отдохнуть, игровые приставки, кинотеатр;
занимаемся спортом: бесплатный фитнес-зал в офисе (со всеми тренажерами и, конечно, душевыми), теннисные столы и даже футбольное поле;
профессионально развиваемся: в нашем офисе регулярно проходят семинары, тренинги, мероприятия для разработчиков: CocoaHeadsMoscow, UX-среда .
Tennelle27@gmail.com
goffyara
я бы пошутил про "не тот чатик", но вдруг нужда заставит, запомнят и не возьмут xD
Dmitriy
Новое!
#Вакансия, #php, #symfony.
Сервис поиска и заказа готовой еды и продуктов.
Обязанности: разработка эффективных, тестируемых и масштабируемых веб-приложений;
Стек технологий:
PHP 7, Symfony, Постгресс.
Условия работы:
Высокая заработная плата от 135 к.
Комфортно работаем: просторные опенспейсы, звукопоглощающие панели, дополнительные мониторы, мощное железо и макбуки, если нужно; вкусно кормят: в офисе есть ресторан с завтраками и обедами, а на каждом этаже есть 2 кухни, где всегда есть фрукты и ягоды, чай, кофе, кола; приятно отдыхаем: большая лаунж-зона, массажные кресла, бар со свежевыжатыми соками, качели, уголки с пледами и подушками, где можно отдохнуть, игровые приставки, кинотеатр;
занимаемся спортом: бесплатный фитнес-зал в офисе (со всеми тренажерами и, конечно, душевыми), теннисные столы и даже футбольное поле;
профессионально развиваемся: в нашем офисе регулярно проходят семинары, тренинги, мероприятия для разработчиков: CocoaHeadsMoscow, UX-среда .
Tennelle27@gmail.com
Не тот чатик
Dmitriy
goffyara
@ExileeD , мужик!
D
всем привет
столкнулся с проблемой
апи для приёма ответов на вопросы
приходят ответы
умею валидировать ответы (что они на тот вопрос пришли)
но не могу валидировать количество правильных ответов на вопрос (может быть несколько правильных ответов)
D
как это можно запилить стандартной валидацией yii2?
Vladislav
а если реализовать свой валидоатор?
Vladislav
имхо - специфичная весчь
Vladislav
и решение должно быть не стандартным
D
+1
D
но хочется стандартной обойтись
чтобы следующий разработчик проще читал код
Vladislav
как ты валдириуешь сейас
Ivan
мне кажется стандартным средствами наоборот выйдет сложнее
Vladislav
через rules?
Vladislav
если да, то создай свою функцию валидатор и добавь правило по этой функции
Vladislav
но это неправильно
Vladislav
валидация не для этого создана
Vladislav
она нужна для проверки верности данных
Vladislav
что данные точно стринг или точно есть
Vladislav
можно и более сложные, но порой проще сделать функцию для этого свобю
Dmitriy
Vladislav
ответ на вопрос
Vladislav
а не вопрос в пуле вопрсов
Vladislav
на один вопрос может быть 100 верныхх ответов
Vladislav
типа того
Dmitriy
как ответы хранятся ?
Dmitriy
или как они поступают в реквест
D
типа "опрос". у опроса много "вопросов". у вопросов много "вариантов" ответа
Dmitriy
Если у ответов есть "модель"
для этого есть Model::validateMultiple
D
да
он загружает
D
я кастомно проверяю если ли option_id (вариант) в списке option'ов вопроса
D
ANswer::validateMultiple
D
но как проверить, достаточное количество ли этих answer'ов
D
и получить нативную ошибку yii2
D
это, по ходу, нужно валидировать сам вопрос, а не ответы
The Ant
Парни, как безболезнено и не по уебански прокинуть конфиг с компонентами в бутстрап класс самодельный?
The Ant
прям очень нада
Yura
Anonymous
всем привет
Anonymous
вопрос такой у меня: реально ли в Yii2 затащить доктрину и немного симфони. для чего? чтобы было удобно автоматически работать с миграциями. заказчику не нравится как устроены миграции в Yii2
Anonymous
или ничего у меня не выйдет?
Anonymous
я с Yii2 только вот столкнулся, до этого, около 2х лет, работал плотно с Symfony 2
Ivan
Это, я думаю, не стоит свеч, тем более из-за миграций. Что не устраивает в миграциях Yii2?
Anonymous
ТАм получаеться вводишь команду, создаеться файл и потом ты его вручную правишь
Anonymous
цитата
Anonymous
т.е, как я понял, не особо оно автоматизировано
Anonymous
в ново версии вышло уже близко к автоматическому но все равно не удобно, вот в симфони там огонь
Ivan
Ну да, а это настолько большая часть работы по программированию? У меня это занимает минуты 2 на одну таблицу. Привызывание doctrine к Yii2 выйдет на порядки порядков дольше и соответственно дороже
Anonymous
щас еще уточню подробнее
Anonymous
да, именно так. по имеющейся БД создать файлы миграций, чтоб потом на чистом сервере, развернуть структуру идентичную
KoJIT
https://github.com/bizley/yii2-migration
Dmitriy
KoJIT
посмотри это расширение
Anonymous
Anonymous
Dmitriy
Anonymous
Anonymous
жесть... а я в 4 часа работы оценил
Anonymous
Alex
Anonymous
Dmitriy