检测是否在方法内创建或更新模型

时间:2013-12-11 01:47:49

标签: php laravel

在扩展 Eloquent BaseModel 中,我有验证方法。

我的问题是,如果正在创建或更新模型,我如何在此方法中检测到?

我知道并且我使用模型事件,但无法弄清楚如何实现相同的内部方法。

2 个答案:

答案 0 :(得分:1)

Laravel有一个名为exists()的方法来检查模型是否来自数据库。

如果模型已创建或更新,则以下内容将返回true。

$model->exists

更新模型:

$affectedRows = User::where('votes', '>', 100)->update(array('status' => 2));

dd($affectedRows);

<强>参考:

http://laravel.com/docs/eloquent#insert-update-delete

答案 1 :(得分:0)

您可以使用getOriginal()查看是否已在该模型中设置了属性。

根据您获得的内容,您可以知道它是新模型还是现有模型。


getOriginal() docs:

http://laravel.com/api/source-class-Illuminate.Database.Eloquent.Model.html#2114-2124

相关问题