laravel访问器可以格式化一些字段值,很方便。比如支付状态,数据库里面保存1,通过访问器可以很容易转换成 已支付 在模板显示。
现在问题是,有时候我们需要判断是否已支付,比如如下情景
if($payStatus == 1){
//do something
}
如果定义了访问器,此时的 $payStatus 为 '已支付',导致上面的判断不成立。
laravel有没有可以临时获取原始数据的办法或者临时关闭访问器的办法?文档总好像没有提到一点。
laravel访问器可以格式化一些字段值,很方便。比如支付状态,数据库里面保存1,通过访问器可以很容易转换成 已支付 在模板显示。
现在问题是,有时候我们需要判断是否已支付,比如如下情景
if($payStatus == 1){
//do something
}
如果定义了访问器,此时的 $payStatus 为 '已支付',导致上面的判断不成立。
laravel有没有可以临时获取原始数据的办法或者临时关闭访问器的办法?文档总好像没有提到一点。
你难道把原来的替换掉了?
建议你这样做
在model层追加字段
然后用访问器赋值给追加字段
对于数据库里的原始字段个人建议最好不要覆盖,我的项目订单的金额数据库里存的是分(int整形),用访问器改成了两位小数,元(decimal,2),就是直接覆盖原始字段的做法
上个月突然尴尬的发现要使用‘分’这个原始数据,总不能再转化回来把?然后开始苦B的往回改,现在回想起来头都要炸了,那么多地方都在用model层(我们的model层独立出来的,其他项目作为依赖都在用),真不知道怎么改回来的
中途改漏了一个地方,商户给买家退款,30退成了3000 。。。啊西巴~~~
如果解决了你的问题,望采纳~