laravel - Laravel:如何在没有 $hidden 属性的情况下建立关系?
问题描述
我在帖子和用户之间有关系
public function user()
{
return $this->belongsTo('App\User');
}
例如,当我显示具有急切负载的帖子时
$post->with('user');
它显示了相关用户,但带有他的 $hidden 字段,因此可以看到他的加密密码、remember_token 等。如何避免这种情况?select
我知道在定义关系时可以这样做
public function user()
{
return $this->belongsTo('App\User')->select(array('id', 'username', 'slug', 'description'));
}
但是有没有更清洁的方法来做到这一点?
解决方案
嗯,也许你搞砸了 User 类的 $hidden 属性?这是开箱即用的,没有什么可做的。如果您好奇,这一切都由 HidesAttributes 特征处理,它是 Model 基类的一部分。
由于您的 User 类应该是 Authenticatable 的子类,它是 Model 的子类,所以您应该很高兴。仔细检查您的用户类别。
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
推荐阅读
- python - 正方体选项和图像预处理
- css - col 之间的容器行空间
- python - 如何为要输出到 HTML 的 python 数据框列标题设置背景颜色?
- javascript - 如何在 React 组件中修复列表样式计划的渲染
- sql - RSQLite sql 命令中的字符数
- macos - VsCode包含路径错误无法解决
- base64 - Taurus 用户如何传入 Content-Type 和 base64 值?
- angular - Visual Studio 2019 Angular 模板不起作用?
- asp.net - ASP.NET MVC - 将 JSON 对象返回到视图并“格式化为表格”
- sql - 基于列删除 SQL 中的重复项