laraval 访问器可以临时关闭或者获取原始数据吗?
laravel访问器可以格式化一些字段值,很方便。比如支付状态,数据库里面保存1,通过访问器可以很容易转换成 已支付 在模板显示。
现在问题是,有时候我们需要判断是否已支付,比如如下情景
if($payStatus == 1){
//do something
}
如果定义了访问器,此时的 $payStatus 为 '已支付',导致上面的判断不成立。
laravel有没有可以临时获取原始数据的办法或者临时关闭访问器的办法?文档总好像没有提到一点。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你难道把原来的替换掉了?
建议你这样做
在model层追加字段
然后用访问器赋值给追加字段
对于数据库里的原始字段个人建议最好不要覆盖,我的项目订单的金额数据库里存的是分(int整形),用访问器改成了两位小数,元(decimal,2),就是直接覆盖原始字段的做法
上个月突然尴尬的发现要使用‘分’这个原始数据,总不能再转化回来把?然后开始苦B的往回改,现在回想起来头都要炸了,那么多地方都在用model层(我们的model层独立出来的,其他项目作为依赖都在用),真不知道怎么改回来的
中途改漏了一个地方,商户给买家退款,30退成了3000 。。。啊西巴~~~
如果解决了你的问题,望采纳~
赞同楼上, 数据库中的数据最好不要改.
你需要什么样的格式, 直接格式化就好了.
你可以使用查询构建器 直接查询原始值