Laravel 5 如何在Laravel 5中全局防止保存到数据库
我用Laravel制作了一个PHP脚本,现在我想向我的买家展示这个演示。由于我不希望他们对数据库进行任何更改,我想知道是否有一种方法可以全局禁用对数据库的任何保存?最简单的方法是创建一个没有插入权限的mysql用户。使用以下mysql语句创建用户,并将此用户用作数据库设置中的用户。我不认为在拉威尔有一个全局的方法Laravel 5 如何在Laravel 5中全局防止保存到数据库,laravel-5,eloquent,Laravel 5,Eloquent,我用Laravel制作了一个PHP脚本,现在我想向我的买家展示这个演示。由于我不希望他们对数据库进行任何更改,我想知道是否有一种方法可以全局禁用对数据库的任何保存?最简单的方法是创建一个没有插入权限的mysql用户。使用以下mysql语句创建用户,并将此用户用作数据库设置中的用户。我不认为在拉威尔有一个全局的方法 GRANT SELECT ON [database name].[table name] TO ‘[username]’@'%’; 这样,您的用户可以查看所有内容,但无法保存一点。
GRANT SELECT ON [database name].[table name] TO ‘[username]’@'%’;
这样,您的用户可以查看所有内容,但无法保存一点。如果您有一个扩展了Laravel默认的Eloquent模型类的
BaseModel
。您的所有应用程序模型都扩展了BaseModel
,您可以在其中添加以下内容:
public static function boot()
{
parent::boot();
static::saving(function($model)
{
return false;
});
}
这将拦截来自Eloquent的任何创建
或更新
事件
这可能是您问题的技术答案,但理想情况下,只需备份数据库并在向买家展示后恢复即可。备份数据库,让他们更改任何内容