laravel - 使用 Laravel 时计算字段的好做法是什么?
问题描述
想象一下,我有一个带有 first_name 和 last_name 的模型。如果我想要计算的属性“全名”,我会看到 2 个解决方案:
1) 模型中的访问器
public function getFullNameAttribute()
{
return "{$this->first_name} {$this->last_name}";
}
2)使用资源
例如 :
class UserResource extends JsonResource
{
public function toArray($request)
{
return [
'full_name' => "{$this->first_name} {$this->last_name}"
....
还有其他解决方案吗?我对这个好的选择有点困惑。这两种解决方案的优缺点是什么?你在你身边用什么?
解决方案
您也可以创建自己的函数
public function getFullName()
{
return "{$this->first_name} {$this->last_name}";
}
数组函数主要在创建 API 时使用(不是规则)
public function toArray($request)
{
return [
'full_name' => "{$this->first_name} {$this->last_name}"
....
最常见的解决方案是使用 getter:
public function getFullNameAttribute()
{
return "{$this->first_name} {$this->last_name}";
}
所以结论是......没有“最佳解决方案”,所有这些都可以正常工作,程序员会采用不同的方式来获取数据。
推荐阅读
- intellij-plugin - 如何从 PsiElement 或 VirtualFile 获取 KtClass?
- firebase - Firebase 是否对实际上不更改任何字段值的文档写入收费?
- c# - 使用响应对象将gridview导出到excel
- jquery - jQuery - 将类“活动”添加到菜单上的当前页面
- regex - Visual Basic 2010 中的 Regex.Matches 问题
- php - 如何在 ACF 表单中添加多个提交按钮?
- c# - 在 .NetCore 2.2 中检测到 Microsoft.EntityFrameworkCore.Install Reference 3.1.2 的版本冲突问题?
- jupyter-lab - jupyterlab如何应用标签而无需编辑单元格元数据
- javascript - scrapy中的xpath没有返回预期?
- python-3.x - 在python中具有多元自变量的Arima