Konstantin
вот я согласен с тем, что по-хорошему AR не должен валидировать
Konstantin
но это как по-хорошему данные в базе должны быть по третьей нормальной форме
Konstantin
оно вроде и хорошо, но иногда проще правила не соблюдать (и можно себе это позволить)
Konstantin
а так конечно да, модель не должна _быть_ валидатором, она должна им обладать
Konstantin
но как правильно заметили выше, если сделать эту отдельную валидацию самостоятельно, мы введем в заблуждение кучу новичков (и не только), которые будут ожидать от моделей самовалидации, так как это принято в фреймворке
mr.
Попробовал, https://github.com/yii2mod/yii2-enum годно, но небольшой оверхед на ооп))
mr.
Хотя ООП сам по себе оверхед, лул, ФП наше всё.
mr.
Так это, кто юзал енумы, можно ли удобно и без костылей приведение типов сделать? пробовали?
Borys
процедурки и фтп
Borys
с апачем
Borys
православно
Borys
mr.
процедурки и фтп
Не процедурное, а функциональное программирование!
mr.
Это разное
Nikita
А как добавить сразу много записей в базу через ActiveRecord?
mr.
Метод
Nikita
batchInsert
спасиб
mr.
@KoJIT енумы бери_)
Konstantin
нравятся-то нравятся, но что ж теперь, во всей базе переделывать? :)
Konstantin
хотя может когда-то и до этого дойдет
Nikita
в примере $connection->createCommand()->batchInsert('user', ['name', 'age'], [ ['Tom', 30], ['Jane', 20], ['Linda', 25], ])->execute(); а что такое $connection
Borys
batchInsert
забыл, как называется
Borys
когда много моделей сохраняется
KoJIT
@KoJIT енумы бери_)
мне пол кило пожайлуста )
Borys
в доке не могу найти
Borys
не, в yii2
Borys
вертится в голове, не могу сформулировать
mr.
batch insert епт
mr.
спасибо))
Только учти, что это в таблицу вставка, а не AR модели сохраняются. Ключевое отличие, что валидации тут не будет.
Borys
batch insert епт
массовое сохранение моделей
Borys
или как-то так
mr.
Только учти, что это в таблицу вставка, а не AR модели сохраняются. Ключевое отличие, что валидации тут не будет.
Целесообразно только на больших объемах проверенных данных. Иначе, лучше просто foreach сделать по массиву и создать и сохранить AR
Rodion
Привет всем, ребят легкий халевар хочу устроить) Laravel 5 или yii2 для создания Task Manager(TODO).
Кирилл
batch insert епт
Уж не импорт пишешь?
Borys
я не очень умный
Borys
KoJIT
@KoJIT енумы бери_)
уже на заметке, буду делать новые сущности обязательно заюзаю.
Konstantin
кстати не вижу причин сильно заморачиваться по поводу пакетного сохранения моделей, если их там не сотни
Dmitriy
только выше пакет это не енумы как таковы а их эмуляция.
Konstantin
угу, эмуляция
Konstantin
с переводом, кстати
Konstantin
в смысле с локализацией
Konstantin
меток
Dmitriy
Это плохо или хорошо ?
нет четкого ответа. Кто-то не любит енумы вообще и использует пакет выше. Кто-то считает что лучше валидировать данные в базе и в коде.
Konstantin
ну
mr.
Хотя до сих пор констрейны юзаю.
Konstantin
та да, лучше пусть перепроверяет
mr.
Короче очень спорная тема.
Dmitriy
sql бд это не просто хранилище
Konstantin
как всегда
Konstantin
это еще и запросостроилище? :)
Konstantin
выполнилище, вернее :)
mr.
💩
Sergey
как в yii2 отключить доступ по controller/action, и оставить только правила для urlmanager?
Konstantin
что-то там было про strict
Konstantin
'enableStrictParsing' => true
Sergey
👍🏾
Konstantin
а про бд - с одной стороны приятно, когда у тебя данные нормализованы и везде single source of truth и гарантирована целостность
Konstantin
а с другой, трудно обеспечивать эту целостность в распределенной системе
Konstantin
вот что мне активно не нравится, это когда при создании моделей полагаются на дефолтные значения колонок в БД
Dmitriy
Я всё же склоняюсь к тому, что БД это хранилище.
это nosql такие. sql проверяет данные.
Dmitriy
и целостность
Konstantin
целостность - если мы можем себе позволить такую роскошь
Dmitriy
а мы можем. плюс sql дб в этом
Konstantin
где-то есть видео с таким курчавым дядькой, на которого рубашка не налазит, он там про распределенные системы рассказывает
Konstantin
мол, как в жж френдлента сделана
Konstantin
так вот реально, не получится в масштабах жж сделать запросик типа SELECT * from post WHERE post.author IN (...) AND created_at...