☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
($this->module === 'news' && >>>!<<< News.....->exists())
Vladimir
$this->module в правилах валидации?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
в валидаторе
Vladimir
В валидаторе $attribute, $params
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
в аттрибутах, но контекст $this
Vladimir
А зачем нам тогда $attribute, $params, они не нужны получается?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
валидация свойства module уже прошло
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
https://pastebin.com/7Xf6mPM4
получается что так ©
Vladimir
заработало
Vladimir
кек
Vladimir
Благодарю)
Vladimir
Весь прикол в том что в доке везде написано $attribute, $params
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
как-нибудь не ночью подумай над архитектурой
Vladimir
И нигде нету контекста this в валидаторе
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Весь прикол в том что в доке везде написано $attribute, $params
аттрибут и параметры валидации. Все верно написано
Vladimir
Ну да, но я не видел примеров с this'ом нигде и не мог подумать что он тоже работает
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
'id' => $attribute эта часть неверная как минимум
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
$attribute - имя свойства класса а не его значение.
Vladimir
Да да, я теперь понял
Vladimir
Спс)
who are you
Весь прикол в том что в доке везде написано $attribute, $params
$params дополнительные пары имя-значение, заданное в правиле
who are you
что то не вижу у тебя там пары
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Было уже выше
Vladimir
А все потому что дока новая
Vladimir
В старой не было)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
В старом дизайне? 😄😄😄
Vladimir
Они давно дизайн сменили?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Наверное вчера
Vladimir
Просто мне кажется, я неделю назад все это читал, и в старой доке со старым дизом не было этого примера с this)
Vladimir
Я ещё удивился почему такая строгая привязка в $attribute и как вызывать другие
Vladimir
Ну это прям очень классно что удалось все-таки решение найти, люблю чат
who are you
в дизе вот так приятнее на монике смотреть @media (min-width: 1200px) .container { width: 1370px;
who are you
класс контейнера узковат
Anonymous
Привет всем еще раз Тут такие вопросы возникли: 1. Таск - отображение только "активных" записей, где статус isRemoved = 1. В целом, в основном работает andFilterWhere(['isRemoved' => 1]) Но возникла в данном случае ошибка in where clause is ambigious - http://i.prntscr.com/VYwoQ1mQQyiAw4yyE_WXpQ.png (и понял, что может я как-то запрос строю не так) 2. Таск - сделать поиск по периоду (с по) Раздел во вьюхе на два div'а поисковую строку, прикрпеил туда ид-шники, по которым появляется календарь, и в modelSearch сделал так, на что натыкался часто. В итоге после того, как я указываю даты (http://i.prntscr.com/LBDRav0vS8mYrCXwkkjYMg.png) - после этого не идет отклик, и не отрабатывает поиск. И в случае, когда я в другом поле делаю сортировку по имени (с датой) - он пишет, что ничего не нашел (хотя если дату не указывать, то все находит) Что бы Вы могли посоветовать в данных случаях, как решать эти вопросы + сталкивались ли Вы с подобным? LeadInfoSearch - https://pastebin.com/0f8X9W5e LeadInfo - https://pastebin.com/5rVKJvPM index page - https://pastebin.com/grxGFQi9
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Привет всем еще раз Тут такие вопросы возникли: 1. Таск - отображение только "активных" записей, где статус isRemoved = 1. В целом, в основном работает andFilterWhere(['isRemoved' => 1]) Но возникла в данном случае ошибка in where clause is ambigious - http://i.prntscr.com/VYwoQ1mQQyiAw4yyE_WXpQ.png (и понял, что может я как-то запрос строю не так) 2. Таск - сделать поиск по периоду (с по) Раздел во вьюхе на два div'а поисковую строку, прикрпеил туда ид-шники, по которым появляется календарь, и в modelSearch сделал так, на что натыкался часто. В итоге после того, как я указываю даты (http://i.prntscr.com/LBDRav0vS8mYrCXwkkjYMg.png) - после этого не идет отклик, и не отрабатывает поиск. И в случае, когда я в другом поле делаю сортировку по имени (с датой) - он пишет, что ничего не нашел (хотя если дату не указывать, то все находит) Что бы Вы могли посоветовать в данных случаях, как решать эти вопросы + сталкивались ли Вы с подобным? LeadInfoSearch - https://pastebin.com/0f8X9W5e LeadInfo - https://pastebin.com/5rVKJvPM index page - https://pastebin.com/grxGFQi9
1. Это же очевидно! нужно указать в какой таблице находится isRemoved т.к. в присоединенных таблицах он тоже есть
Anonymous
Блет
Anonymous
Точно
Anonymous
Да и ошибка переводится, как двусмысленная
Anonymous
Спасибо за подсказку
Anonymous
А насчет 2-ого есть мысли? :)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
не смотрел, уже сплю)
Anonymous
Окей)
Anonymous
Понимаю
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
вообще посмотри в дебаге запрос если не понимаешь что происходит с выборкой
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
нет кода, как у тебя between отрабатывает в серч модели?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Понимаю
"и в modelSearch сделал так, на что натыкался часто" это о чем?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
и "после этого не идет отклик, и не отрабатывает поиск" это как? какой отклик?
Anonymous
мол, тип делал эту задачу, основываясь на тех же статьях об этой задаче (к примеру, у Дмитрия Елисеева)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
как сделал в итоге? скинь код как минимум
Anonymous
LeadInfoSearch - https://pastebin.com/0f8X9W5e LeadInfo - https://pastebin.com/5rVKJvPM index page - https://pastebin.com/grxGFQi9
who are you
Привет всем еще раз Тут такие вопросы возникли: 1. Таск - отображение только "активных" записей, где статус isRemoved = 1. В целом, в основном работает andFilterWhere(['isRemoved' => 1]) Но возникла в данном случае ошибка in where clause is ambigious - http://i.prntscr.com/VYwoQ1mQQyiAw4yyE_WXpQ.png (и понял, что может я как-то запрос строю не так) 2. Таск - сделать поиск по периоду (с по) Раздел во вьюхе на два div'а поисковую строку, прикрпеил туда ид-шники, по которым появляется календарь, и в modelSearch сделал так, на что натыкался часто. В итоге после того, как я указываю даты (http://i.prntscr.com/LBDRav0vS8mYrCXwkkjYMg.png) - после этого не идет отклик, и не отрабатывает поиск. И в случае, когда я в другом поле делаю сортировку по имени (с датой) - он пишет, что ничего не нашел (хотя если дату не указывать, то все находит) Что бы Вы могли посоветовать в данных случаях, как решать эти вопросы + сталкивались ли Вы с подобным? LeadInfoSearch - https://pastebin.com/0f8X9W5e LeadInfo - https://pastebin.com/5rVKJvPM index page - https://pastebin.com/grxGFQi9
2. between: первый операнд должен быть именем столбца, а второй и третий оператор должны быть начальным и конечным значением диапазона. Например, ['between', 'id', 1, 10] сгенерирует id BETWEEN 1 AND 10.
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
->andFilterWhere(['>=', 'create_time', $this->date_from]) ->andFilterWhere(['<=', 'create_time', $this->date_to]);
who are you
»хотя если дату не указывать, то все находит) Единственное отличие между filterWhere() и where() заключается в игнорировании пустых значений
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
в данном случае проблема может быть в форматах, в каком формате date_from/to и create_time
who are you
да там проблема его только лишь в том что дебагер не юзает )))
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
если create_time к примеру datetime mysql то это в пыхе Y-m-d H:i:s если date_from виджет то он может вернуть d.m.Y H:i:s и все накроется медным тазом)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
а, там же валидатор есть
Anonymous
Кстати, у меня такая фигня была, когда решал вопрос с формой
Anonymous
Насчет формата даты
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Валидатору формат скорми из виджета
Anonymous
Мб, реально так может быть
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
у тебя вообще дальше
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } ничего может не уйти)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
debug у yii2 есть в коробке + xdebug и сам разберешься без проблем)
Anonymous
Окей)
Anonymous
Спасибо за подсказки)
Anonymous
Но остался один еще вопрос
Anonymous
Валидатору формат скорми из виджета
Может, уже бошка не варит, но примерно как это?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
https://www.yiiframework.com/doc/api/2.0/yii-validators-datevalidator
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
https://www.yiiframework.com/doc/api/2.0/yii-validators-datevalidator#$format-detail точнее
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
'MM/dd/yyyy' // date in ICU format 'php:m/d/Y' // the same date in PHP format 'MM/dd/yyyy HH:mm' // not only dates but also times can be validated
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
а потом можно filter к примеру для преобразования в формат create_time т.е. date('Y-m-d H:i:s') для mysql datetime или strtotime если create_time через какой-нибудь TimestampBehavior схороняется или еще как в unixtimestamp
Anonymous
ОКей, понял тебя Спасибо тебе за хинты :)
Alex
Привет всем. Не подскажите как установить yii2-app-basic версии "~2.0.15" Или как вообще последнюю версию?
Anonymous
Alex
ставится 14 composer create-project —prefer-dist yiisoft/yii2-app-basic blog Installing yiisoft/yii2-app-basic (2.0.14)