大家是怎么解决laravel变量命名规范与数据库字段命名规范不统一的问题的?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 12
sreio

重新model的getAttributesetAttribute方法

public function getAttribute($key): mixed
{
    return parent::getAttribute(Str::snake($key));
}

public function setAttribute($key, $value): mixed
{
    return parent::setAttribute(Str::snake($key), $value);
}
1年前 评论
kis龍 1年前
sreio (作者) 1年前
sreio (作者) 1年前
Jyunwaa

其实下划线是可读性最强的编码风格,Laravel推荐使用驼峰,没有必要强迫自己也使用驼峰,下划线也不影响自动加载。

1年前 评论
sanders

应该没有 "Laravel变量" 这种说法,我觉得没有必要太纠结,可以选择都写成 data_get($model, 'field_name') 这种方式来访问模型属性 或 data_get($model, 'relationName.field_name') 来访问 关系模型属性。同理赋值可以使用 data_set 辅助函数。

1年前 评论

一般数据库的字段是建议使用下划线,例如head_image这样的。至于laravel或者说代码层面,只要保证统一的规范就行。
例如:

// 方法名使用驼峰
public function getUserName() {
    $nickName = "李大";// 代码层面变量驼峰
    $user = new User();
    $user->nick_name = $nickName;// 数据库字段使用下划线
    return $user->save();
}
1年前 评论
小李世界 1年前
lmdfx 1年前
Squ1rrel

只要统一规范,不是大问题

个人喜欢驼峰,下划线变量一长起来就完蛋

所以对代码语义化要求很高

反正都是有利有弊

1年前 评论

我觉得没有必要去做这个额外的事情自寻烦恼,模型属性就保持和数据库一致,反而是比较符合心理预期的。其他自定义的命名编码,遵循PSR就可以了

1年前 评论

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