Laravel 关联模型属性名会自动从小驼峰转为蛇形命名法

给 User 模型定义了一个 一对一关联模型

$user = User::with([ 'passCard' ])->first();
return apiSuccess($user);

结果

{
        "name": "gametest",
        "id": 1,
        "pass_card": {
            "id": 12,
            "uid": 1,
        }
    }

关联属性名自动从 passCard 变成 pass_card
问题是取属性的时候又必须用 $user->passCard 的方式

$user = User::with([  'passCard'  ])->first();
$user->passCard; // 能取到值
$user->pass_card;// 取不到值

感觉是个小坑

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 1
Complicated

self::$snakeAttributes静态属性设置false就可以了,可以在model 的 构造方法设置一下,就不会蛇形了

2年前 评论
liuyuit (楼主) 2年前

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