после этого ответа, я делаю модель save callbacks (аналогично рельсам) в Laravel так:
class LessonPlan extends Eloquent {
public function save(array $options = array())
{
// before save code
parent::save();
// after save code
}
}
Однако я вызываю save() в Page
, когда я сохраняю новую страницу или обновляю существующую. Как узнать, что именно в этой операции?
Я пробовал что-то вроде
public function save(array $options = array())
{
// before save code
$oldLesson = clone $this;
parent::save();
..
if ($this->isLessonStatusChanged($oldLesson)) {
..
}
}
private function isLessonStatusChanged($oldLesson) {
return $this->status != $oldLesson->status;
}
но это не хорошо.. поскольку $oldLesson уже будет иметь новые значения $lesson
то, что я закончил делать, просто переименовал URL-адрес, чтобы увидеть, если это запрос на обновление.. но у меня уже есть проблемы с ночным сном (мой ответ на самом деле не говорит мне, изменились ли какие-либо значения. b/c можно подать форму обновления без фактического изменения чего-либо).. есть ли более чистый способ сделать это?