laravel 访问器 和 belongsToMany 的问题
大佬们~
因为我们返回前台数据 id 需要加密 所有就用访问器做了改变
public function getIdAttribute($value){
return IdGenerator::convertToBase64($value);
}
但是这个使用多对多这样就查不出来数据了
public function image()
{
return $this->belongsToMany('App\Models\Image','user_dynamic_image','dynamic_id','image_id');
}
请问下有什么方法解决吗?
虽然没测过,但是看起来确实有点问题,查询第一次后拿到的id就是加密后的,再去查关联数据就有问题了。 我觉得 1.可以添加个加密id字段,生成记录的时候就同时记录好加密id,就不用访问器了,讲道理也不占什么空间,查询后也不用再计算机密值了 2.如果有返回的数据格式统一的话,也许后置中间件是个办法,在返回前对数据中的id做加密处理。
可以看下这篇 004. 哈希数据 ID —— vinkla/hashids