php - 使用属性 laravel 计算变量
问题描述
我有一个简单的代码,可以输出一个人的新时代。如果一个人 17 岁,它应该输出 18。
但我在刀片上计算这个(我认为这很糟糕)。我正在尝试使用属性来处理这个问题,但是由于我对 Laravel 很陌生,所以我不知道如何处理它。
请帮我...
这就是我计算
{{date('Y') - $birth->birth_date->year + 1}}
它的方法是从记录中减少当前年份并获取当前年龄,然后添加 1。
有没有更可靠的方法来做到这一点(比如使用属性)?
我已经尝试为我的 eloquent 添加属性,但我找不到方法
解决方案
最好将其定义为模型上的 mutator/accessor:
User.php
(或其他$birth
)
use Carbon\Carbon;
class User extends Model {
protected $dates = ['birth_date'];
public function getAgeAttribute() {
return Carbon::now()->diffInYears($this->birth_date);
}
...
}
然后,在您的.blade.php
文件中:
{{ $birth->age }} // 18 (or 17)
推荐阅读
- java - 如何在java数据类型中分配光年的值
- wpf - 将媒体元素绑定到视图模型
- dart - 飞镖中是否可以有一个私有构造函数?
- linux - 无法启动 Kestrel。System.IO.IOException:无法绑定到地址 http://127.0.0.1:5000:地址已在使用中
- node.js - Nodejs BotFrameworkAdapter 不是构造函数错误
- pdf - Libre Office 标签在 iTextSharp 中不显示为“AcroFields”?
- javascript - 使用香草 JS/CSS 动画顶部导航栏的打开/关闭
- angular - Angular 7 - 从服务器获取更新到应用程序的最佳方式
- mongodb - mongodb 终端 - $push/$pull - SyntaxError: invalid property id @(shell)
- node.js - 如何在 Heroku 系统变量中设置主文件夹?