我是Laravel的新手,想通过示例来理解这一点。 laravel中可填充和防护的主要区别是什么? 这些是如何区分的? 请分享一个基本的例子。
答案 0 :(得分:2)
示例1
protected $fillable = ['name', 'email'];
这意味着我们只想插入姓名和电子邮件的邮件值
示例2
protected $guarded = ['name', 'email'];
这意味着我们只想忽略姓名和电子邮件,我们不想插入姓名和电子邮件colmn的值
示例3
protected $fillable = [];
我们要插入所有列值
答案 1 :(得分:1)
首先作为新手参考laravel网站上的文档。我想你问的是关于可填充和守卫的问题。
Fillable已准备好进行质量分配,即您可以将fill()与值集的数组一起使用,而不是使用一对一的赋值。名称和电子邮件名称可填写。
class User extends Eloquent{
public $timestamps = false;
protected $fillable = ['name', 'email'];
}
....
$user = User::create($request->all);
守卫就是可填充的对面。
请记住还有一个“隐藏”,这意味着它不适用于json解析。所以,如果你使用
return User::all();
返回的json将跳过隐藏中提到的所有字段。隐藏也没有明确表示保护。