Thinkphp5基础——06 模型(隐藏字段)

在Thinkphp5中,为了保护敏感信息,有时需要隐藏数据表中的某些字段不返回给前端。可通过在模型类中定义`hidden`属性实现永久隐藏,或者在特定场景下临时隐藏字段来达到这一目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


为什么要隐藏字段?

在使用php提供接口服务的时候,有些情况下数据表里的某些字段并不适合返回给前端人员,

所以我们需要对其进行隐藏。



永久隐藏

模型类文件


class Category extends Model
{
	protected $hidden = [
	  'update_time','delete_time','from',
	  'create_time','pivot','from','category_id',
	  'img_id','summary'
	];
}

protected 的hidden属性是一个数组,里面填写需要隐藏的字段名(string)。

定义了以后,这些字段将不会返回给模型对象。





临时隐藏

有时候,我们只是在某些场景下才需要隐藏某些字段,而一般情况下都要返回这些字段。

这时候,上面的方法就不适合了。



解决方法

控制器文件

	
	$user = User::find(1);
	
	dump($user->hidden(['create_time','update_time'])->toArray());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值