以下 这个 回答,我在Laravel模型中保存回调(类似于rails),如下所示:
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的新值
我最终做的只是重新编写网址以查看它是否是更新请求..但我已经在晚上睡觉时遇到了问题(我的回答并没有真正告诉我是否有任何值实际发生了变化.. b / c one可以提交更新表格,而无需实际更改任何内容)..有更清洁的方法吗?