【问题标题】:whats the difference between fillable and guard in laravel?laravel 中的可填充和守卫有什么区别?
【发布时间】:2017-01-29 16:07:34
【问题描述】:
我是 Laravel 的新手,想通过示例来理解这一点。
laravel 中可填充和守卫的主要区别是什么?
这些是如何区分的?
请分享一个基本示例。
【问题讨论】:
-
最好在 Laravel 文档中搜索。你会得到你的问题的答案。无论如何,您可以在那里检查差异。 [hndr.me/blog/…希望这会对你有所帮助。
-
-
标签:
laravel
laravel-routing
【解决方案1】:
示例 1
protected $fillable = ['name', 'email'];
这意味着我们只想插入名称和电子邮件列值
示例 2
protected $guarded = ['name', 'email'];
这意味着我们只想忽略姓名和电子邮件,我们不想插入姓名和电子邮件列的值
示例 3
protected $fillable = [];
我们要插入所有列值
【解决方案2】:
首先作为新手参考 laravel 网站上的文档。我想您是在询问可填充与已保护的问题。
Fillable 已准备好进行批量赋值,即您可以将 fill() 与值集数组一起使用,而不是一对一的赋值。以下姓名和电子邮件可填写。
class User extends Eloquent{
public $timestamps = false;
protected $fillable = ['name', 'email'];
}
....
$user = User::create($request->all);
Guarded 与 fillable 正好相反。
请记住,还有一个“隐藏”,这意味着它不能用于 json 解析。所以如果你使用
return User::all();
返回的 json 将跳过 hidden 中提到的所有字段。此外,隐藏并没有明确表示受保护。