我在Laravel中创建了一个PHP脚本,现在我想向我的买家展示demo。由于我不希望他们对数据库进行任何更改,我想知道是否有办法全局禁用对数据库的任何保存?
答案 0 :(得分:3)
最简单的方法是创建一个没有插入权限的mysql用户。使用以下mysql语句创建用户,并将此用户用作数据库设置中的用户。我不认为在laravel中有一个全球性的方法。
GRANT SELECT ON [database name].[table name] TO ‘[username]’@'%’;
这样,您的用户就可以查看所有内容,但无法保存。
答案 1 :(得分:3)
如果您有BaseModel
,可以在其中添加以下内容:
public static function boot()
{
parent::boot();
static::saving(function($model)
{
return false;
}
}
这将截取来自Eloquent的所有creating
或updating
事件。
这可能是您的问题的技术答案,但理想情况下只需备份您的数据库并在向买家展示后将其恢复。