关于模型访问器的疑问
我有三张
1、订单表orders
2、用户表users
3、客户表customers
在用户表中有个手机号做了一个访问器。就是判断有没有查看手机的权限有的话就显示全部没有的话中间4位就隐藏。
现在是通过订单表去获取客户表的数据。使用的是预加载。
比如 $data = orders::where(‘uid’,’aaaa’)->with(‘users.customers’)->first()
但是我发现如果我没有查看手机号权限的时候,他是用 132****5888 这样子关联的。
我想知道怎么样避免。就是这样子如何用原始值去关联。
我现在解决的是先在orders中拿到用户的uid
然后
$user = users::where(‘uid’,’aaaa’)->first()
$mobile = $user->getRawOriginal(‘mobile’)
然后再继续其它的操作。。但是我总感觉不够优化。请问大佬们有没有更好的办法?
我尝试直接在模型关联的方法里面直接用 $this->getRawOriginal(‘mobile’)
比如下面,但是发现不行。
public function surveyer()
{
return $this->hasOne(“”, “”, $this->getRawOriginal(‘mobile’));
}
求大佬指点了
非必要情况下,最好不要在原始字段上使用获取器,可以使用appends增加别名字段再使用获取器代替。