- Yii Framework
- afterSave — узнать не поменялось ли конкретное поле
- afterSave — узнать не поменялось ли конкретное поле
- Re: afterSave — узнать не поменялось ли конкретное поле
- Re: afterSave — узнать не поменялось ли конкретное поле
- Re: afterSave — узнать не поменялось ли конкретное поле
- Re: afterSave — узнать не поменялось ли конкретное поле
- Re: afterSave — узнать не поменялось ли конкретное поле
- Yii Framework
- сохранение модели в afterSave()
- сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Re: сохранение модели в afterSave()
- Yii2 afterSave
- Как в yii заставить работать afterSave в Поведениях?
- Yii Framework
- Обертывание в транзакцию для пары afterSave и afterDelete
- Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
- Re: Обертывание в транзакцию для пары afterSave и afterDelete
Yii Framework
afterSave — узнать не поменялось ли конкретное поле
afterSave — узнать не поменялось ли конкретное поле
Вопрос по yii2 framework.
Как узнать в afterSave, поменялось ли значение поля?
Работаю с нотификейшинами выдавать сообщение, когда конкретное поле изменилось.
Вот такой схемой пользуюсь, при insert все норм, узнаю нужные данные
Re: afterSave — узнать не поменялось ли конкретное поле
Сообщение caHek2x » 2016.11.11, 14:11
BaseActiveRecord говорит следующее
$changedAttributes = [];
foreach ($values as $name => $value) <
$changedAttributes[$name] = isset($this->_oldAttributes[$name]) ? $this->_oldAttributes[$name] : null;
$this->_oldAttributes[$name] = $value;
>
$this->afterSave(false, $changedAttributes );
вот и смотрите этот массив .
if (isset($changedAttributes[‘status’]).
Re: afterSave — узнать не поменялось ли конкретное поле
caHek2x писал(а): BaseActiveRecord говорит следующее
$changedAttributes = [];
foreach ($values as $name => $value) <
$changedAttributes[$name] = isset($this->_oldAttributes[$name]) ? $this->_oldAttributes[$name] : null;
$this->_oldAttributes[$name] = $value;
>
$this->afterSave(false, $changedAttributes );
вот и смотрите этот массив .
if (isset($changedAttributes[‘status’]).
Re: afterSave — узнать не поменялось ли конкретное поле
Сообщение caHek2x » 2016.11.11, 14:24
Re: afterSave — узнать не поменялось ли конкретное поле
Re: afterSave — узнать не поменялось ли конкретное поле
Сообщение caHek2x » 2016.11.11, 14:41
вы обращаетесь к save:
1. save .
2. если модель старая то save обращается к update
3. в update валидация, если все ок то далее updateInternal
3. если не ок то выход и ваш save вернет false
4. в updateInternal дергается beforeSave
5. если beforeSave вернуло true то выход и ваш save вернет false
5. если beforeSave вернуло false то далее проверяем есть ли измененные атрибуты.
6. если нет измененных то дергаем afterSave с changedAttributes = пустым массивом
6. если изменилось то сохраняет и afterSave .
причем тут afterRefresh ? он дергается только после отработки метода refresh() . ничего общего с update не имеет . или я не заметил .
Источник
Yii Framework
сохранение модели в afterSave()
сохранение модели в afterSave()
Сообщение t3rmit » 2014.10.03, 11:24
Re: сохранение модели в afterSave()
Сообщение HQ0 » 2014.10.03, 11:31
Re: сохранение модели в afterSave()
Сообщение t3rmit » 2014.10.03, 11:33
Re: сохранение модели в afterSave()
Сообщение t3rmit » 2014.10.03, 11:43
Re: сохранение модели в afterSave()
Сообщение Faenir » 2014.10.03, 12:02
Не понимаю, зачем хранить ID записи в поле url.
Лучше подключите в модели https://github.com/yiisoft/yii2/blob/ma . havior.php для поля url и напишите геттер в модели:
Re: сохранение модели в afterSave()
Сообщение HQ0 » 2014.10.03, 12:02
Re: сохранение модели в afterSave()
Re: сохранение модели в afterSave()
Сообщение HQ0 » 2014.10.03, 13:04
Re: сохранение модели в afterSave()
Re: сохранение модели в afterSave()
Сообщение t3rmit » 2014.10.03, 13:27
Re: сохранение модели в afterSave()
Сообщение Faenir » 2014.10.03, 14:14
Re: сохранение модели в afterSave()
Сообщение t3rmit » 2014.10.03, 15:53
Re: сохранение модели в afterSave()
Сообщение Faenir » 2014.10.03, 21:14
Потому что момент отработки SluggableBehavior записи в БД еще нет и ID — соответствено тоже.
Вообщем можно и в afterSave это сделать.
Нужно использовать не save() а updateAttributes() — он не вызывает afterSave().
Примерно так:
Источник
Yii2 afterSave
Дата публикации: 2017-05-18
От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой статье мы познакомимся с интересным методом Yii2 afterSave, который может быть достаточно полезен при сохранении данных в БД. Также мы узнаем, как отличить сохранение новой записи (isnewrecord) от обновления прежней.
Итак, метод afterSave — что за метод и где он может пригодиться? Собственно, ответ на первый вопрос понятен из названия самого метода, который можно перевести как «после сохранения». Действительно, данный метод вызывается после метода save, который осуществляет сохранение данных в БД.
Вполне возможно вам может потребовать выполнить некоторые действия после операции сохранения. Например, вам может банально потребоваться записать в сессию сообщение об успешном сохранении записи, чтобы затем вывести это сообщение в шаблоне. Собственно, давайте именно эту задачу и решим.
В качестве примера возьмем форму редактирования записей контроллера Post, если помните, ее мы сгенерировали с помощью модуля Gii в одной из предыдущих статей. Давайте откроем модель Post и допишем в нее метод afterSave:
Фреймворк Yii2. Быстрый старт
Получите курс и узнайте, как с помощью фреймворка Yii2 разрабатывать веб-приложения на примере блога
Источник
Как в yii заставить работать afterSave в Поведениях?
Такая ситуация сложилась.
У меня есть модель Service, где есть такой код:
Оба поведения прикрепляю к классу, но по какой то причине выходит только «Илья Муромец» из afterSave внутри класса. Проворачивал то же самое с beforeSave, выводились все три надписи, в чем может быть проблема?
P.S. Конечно же в реальном примере в afterSave должны выполняться более интересные задачи.
Добавлено через 26 минут
Понял ошибку — public нужно ставить в поведениях
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как в Yii в поведениях обращаться к статическому методу?
Здравия! К обычным методам класса в поведении обращался так.. $this->method(); А как к.
Как заставить сайт написанный на 5.3 заставить работать на 5.6? Как принудительно включить register_globals?
Есть древний сайт. Работает на php 5.3. Как объяснил разработчик данного сайта — все дело в.
Печатает пока 100 строк не будут заполнены, нужно при вводе символа n закончить принятие данных и.
Как заставить работать ? 🙂
Form1.label6.caption := FloatTostr (dosp); if Dosp 0
как заставить работать QT
Только установила QT. Пытаюсь скомпилировать консольную программу: #include int.
как заставить работать localhost?
Попросили меня на PHP написать мат. часть программы. Я, как умная Маша, поставил IIS, но на команду.
Здравствуйте! У меня есть программа которая vector найдет номер максимального элемента.
Источник
Yii Framework
Обертывание в транзакцию для пары afterSave и afterDelete
Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение MuratYMT » 2016.12.03, 17:35
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение caHek2x » 2016.12.03, 17:41
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение MuratYMT » 2016.12.03, 17:51
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение caHek2x » 2016.12.03, 17:55
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение zelenin » 2016.12.03, 20:42
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение caHek2x » 2016.12.03, 21:23
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение zelenin » 2016.12.03, 21:34
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение MuratYMT » 2016.12.04, 17:01
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение zelenin » 2016.12.04, 17:13
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение caHek2x » 2016.12.04, 17:17
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение zelenin » 2016.12.04, 17:22
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение MuratYMT » 2016.12.04, 18:45
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение zelenin » 2016.12.04, 18:47
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение MuratYMT » 2016.12.04, 18:54
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение zelenin » 2016.12.04, 18:59
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение Nerf » 2016.12.04, 20:46
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение zelenin » 2016.12.04, 20:49
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение caHek2x » 2016.12.04, 20:53
Re: Обертывание в транзакцию для пары afterSave и afterDelete
Сообщение Nerf » 2016.12.04, 21:14
Источник