在扩展Eloquent的BaseModel中,我有validate方法。
我的问题是,如果模型正在创建或更新,我如何在该方法内部进行检测?
我知道并使用模型事件,但不知道如何实现相同的内部方法。
exists()
的方法来检查模型是否来自数据库。
如果创建或更新了Model,则以下内容将返回true。
$model->exists
更新模型:
$affectedRows = User::where('votes', '>', 100)->update(array('status' => 2));
dd($affectedRows);
参考:
http://laravel.com/docs/eloquent#insert-更新-删除
您可以使用getOriginal()
查看该模型中是否已经设置了属性。
根据你得到的,你可以知道这是一个新的模型还是一个现有的模型。
getOriginal()
文档:
http://laravel.com/api/source-class-Illuminate.Database.Eloquent.Model.html#2114-2124