在我的App/User中,我有以下内容:
protected $hidden = ['name', 'password', 'email', 'remember_token','created_at', 'updated_at','api_token','gmail_id','Personal'];我的理解是,这是用来防止存储在数据库中的敏感信息(作为模型的一部分)泄漏到视图中。
但它似乎不起作用?
当我从一个多到多的关系查询users表,并将我的变量print_r()查询时,我可以在User表中看到来自给定行的所有数据,包括隐藏的列。
我做错了什么?
在控制器中:$achievements = User::where('id', Auth::user()->id)->first()->achievements()->orderBy('Time', 'desc')->take(1)->get();
视图:{{print_r($achievements)}}
发布于 2016-05-31 04:00:26
在Laravel中,模型中的$hidden只是指它的JSON表示--当您请求将模型序列化为JSON时,Laravel将生成JSON。
在您的示例中,您只是要求PHP转储从数据库加载的原始值--其中确实包括隐藏的字段。但是这种倾销是拉拉维尔所不知道的,而且是直接的PHP,因为$hidden只是一个Laravel的结构。
https://stackoverflow.com/questions/37536549
复制相似问题