laravel8 中访问器定义了字段 在get()查询中如何获取 被访问器修改前的字段值

laravel8 中访问器定义了字段 在get()查询中如何获取 被访问器修改前的字段值

laravel8 中访问器定义了字段 在get()查询中如何获取 被访问器修改前的字段值
现在只能获取到访问器修改后的primary_unit 原值应该怎么拿

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 8
Mutoulee

你可以试试访问器定义一个新字段,比如:

public function getPrimaryUnitNewAttribute()
{
    // ...
}

如果要使用原始的属性,$item->primary_unit

如果要使用加工后的属性:$item->primary_unit_new

4个月前 评论
chowjiawei

我记得有个 origin什么的 是访问未被修改的字段

4个月前 评论
翟宇鑫

建议访问器不要和数据库字段重复

4个月前 评论
zxlw12138 (楼主) 4个月前

orm有个方法,可以获取原值。

#示例
$model->getRawOriginal('primary_unit');
4个月前 评论
Mutoulee 4个月前
#(laravel 7+)获取模型原始值(不应用修改器)
$model->getRawOriginal('name');

#(laravel 7以下)获取模型原始值(不应用修改器),7+修改为获取模型原始值(应用修改器)
$model->getOriginal('name');
3个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!