These are chat archives for altiore/cook

15th
Sep 2016
Maksim Kiselev
@MKiselev
Sep 15 2016 05:16
@Razzwan тут, был не дома ночью))

@MKiselev это у тебя заготовленное приветствие?

Не, старался сам с 0 писал)

Razzwan
@Razzwan
Sep 15 2016 05:28
@MKiselev хм... опять велосипеды... )
@MKiselev будем пользоваться вместо жиры нашим кастомным таск менеджером, который мы пилим с Серегой. Уже можно зарегаться и посмотреть, что там есть: http://admin.altiore.org/site/login
записывать работу будем в нем.
Maksim Kiselev
@MKiselev
Sep 15 2016 05:32
@Razzwan не понял, ты о каких велосипедах?)
Razzwan
@Razzwan
Sep 15 2016 05:33
@MKiselev это шутка по поводу изобретенного тобой приветствия
пРифФкИ, к/\к делиФФки?
Maksim Kiselev
@MKiselev
Sep 15 2016 05:33
@Razzwan я не понимаю, просто чела поприветствовал)
Razzwan
@Razzwan
Sep 15 2016 05:34
Да, но оригинально и изобретательно )
Maksim Kiselev
@MKiselev
Sep 15 2016 05:34
Да ита Жи сленг ПедоФФОк)
Razzwan
@Razzwan
Sep 15 2016 05:48
@ricco381 задача для тебя https://bitbucket.org/altiore/altiore/issues/25
Ricco381
@ricco381
Sep 15 2016 08:13
@Razzwan по алтиоре?
Razzwan
@Razzwan
Sep 15 2016 10:55
@ricco381 да
@ricco381 сегодня можешь говорить, я, кстати, сейчас свободен
Maksim Kiselev
@MKiselev
Sep 15 2016 11:26
@Razzwan хелпани плиз
public function behaviors()
{
    return [
        [
            'class' => AttributeBehavior::className(),
            'attributes' => [
                ActiveRecord::EVENT_BEFORE_INSERT => 'date_from',
                ActiveRecord::EVENT_BEFORE_UPDATE => 'date_from',
            ],
            'value' => function ($event) {
                if (isset($event->sender->date_from)) {
                    $format = static::$dateFromFormat;
                    if (strncmp($format, 'php:', 4) === 0) {
                        $format = substr($format, 4, strlen($format) - 4);
                    }
                    $date = DateTime::createFromFormat($format, $event->sender->date_from);
                    return $date ? $date->format('Y-m-d') : null;
                } else {
                    return null;
                }
            },
        ],
    ];
}
Пытаюсь привести дату из пользовательского формата к формату СУБД
ХЗ почему не отрабатывает поведение, хотя идет по ветке всё верно, возвращает дату.
Razzwan
@Razzwan
Sep 15 2016 11:43
@MKiselev ты входишь в замыкание для расчета значения, или просто сюда не попадаешь?
@MKiselev это, кстати, как раз тот код, которого можно избежать, если использовать integer. У тебя одно преобразование всего навсего будет (return strtotime($this->date_from);) - и все
Maksim Kiselev
@MKiselev
Sep 15 2016 11:47
@Razzwan вхожу и в базовом классе по AttributeBehavior
Мне нахер интежер не нужен, покуда на сервере всякие пояс меняют
Razzwan
@Razzwan
Sep 15 2016 11:50
может, перед DateTime нужно слеш поставить? Или это своя обертка?
Maksim Kiselev
@MKiselev
Sep 15 2016 11:51
я в use указал
Короче не парься, ты не туда думаешь
Метод возвращает дату в формате Y-m-d
И дальше в AttributeBehavior ставит для модели
хер знает чому дальше опять значие другое
изначальное
Razzwan
@Razzwan
Sep 15 2016 11:52
А у тебя какой формат даты в базе?
@MKiselev когда задаешь вопрос - ты часто пытаешься ограничить теми условиями, которые уже тебе не помогли. Поэтому и нужно смотреть шире.
Возможно, формат даты в базе timestamp, а у тебя date формат функция возвращает
Maksim Kiselev
@MKiselev
Sep 15 2016 11:54
@Razzwan да не туда ты идешь блин!
date
PG
Razzwan
@Razzwan
Sep 15 2016 11:55
а, тогда у тебя атрибут не указан в рулах как safe
откуда ты знаешь, туда ли я иду, если вопрос открыт? Если уже знаешь ответ - зачем спрашивать?
Maksim Kiselev
@MKiselev
Sep 15 2016 11:58
@Razzwan зачем safe, я этот атрибут от юзера получаю
Razzwan
@Razzwan
Sep 15 2016 11:58
А где дальше то оно изначальное? Перед insert-ом уже ничего не происходит
@MKiselev он у тебя, по-сути safe, ты же его сам переопределяешь. Поэтому и safe. Там какие-то траблы с этим могут быть, если он не safe
ты же не записываешь атрибут от пользователя в базу непосредственно - ты записываешь только четкое преобразование, если оно получилось. А вот если не получилось - можно ошибку добавлять $this->addError...
Razzwan
@Razzwan
Sep 15 2016 12:05
хотя, тебе ошибку поздно добавлять - валидация же уже была.
а еще обрати внимание на название атрибута. возможно, просто в нем ошибка
Maksim Kiselev
@MKiselev
Sep 15 2016 13:20
Я хз, но ВНЕЗАПНО, САМО ПО СЕБЕ стало работать именно так как я и задумывал...
Razzwan
@Razzwan
Sep 15 2016 13:40
)
Razzwan
@Razzwan
Sep 15 2016 16:27
@MKiselev так не бывает. Обязательно есть причина. Полезно ее понять, чтоб в следующий раз не удивляться ;)
Maksim Kiselev
@MKiselev
Sep 15 2016 16:28
я был на нервах)
все из рук валится в такие моменты
Razzwan
@Razzwan
Sep 15 2016 20:02
я верю в зомбоатаки. Обитаемый остров Стругацки
Razzwan
@Razzwan
Sep 15 2016 20:23
Хей, @MKiselev , @BentomX, GO плюсы друг другу ставить в linkedin: https://ua.linkedin.com/in/razzwan