【问题标题】:Calculate age in a list with Laravel使用 Laravel 计算列表中的年龄
【发布时间】:2020-05-28 00:33:12
【问题描述】:

我有一个用户列表,其中每个用户都有“N”只宠物,其中一个属性是宠物的出生日期。如何获取列表中动物的出生日期并计算年龄并将其显示在列表中?

public function index()
    {
        $pets =  Auth::user()->pets()->get();      
        return view('auth.pets.list',compact('pets'));        
    }

【问题讨论】:

  • 请分享您的代码以提供帮助
  • 我刚刚添加了更多信息

标签: php laravel


【解决方案1】:

使用 Laravel carbon 计算年龄。

use Carbon\Carbon;

$dateOfBirth = '1994-07-02';
$years = Carbon::parse($dateOfBirth)->age;

根据您的代码。

@if(!empty($pets))
    @foreach($pets as $pet)
        {{ Carbon::parse($pet->date_birth)->age ?? 0 }} years
    @endforeach
@endif

【讨论】:

  • 但是如何从我的宠物列表中获取出生日期?
  • 删除@if(!empty($pets))检查。不需要。
  • !empty 用于检查$pets 是否有价值?如果您删除 !empty 条件并且 $pets 是一个空数组,那么您将收到空对象 foreach 错误。
  • 明白。我会尽力。我可以将它直接放在我的视图中、pets.blade.php 中还是只放在 PetsController.php 中?
  • 这将在您的刀片文件中。 auth.pets.listlist.blade.php 文件中,您可以访问它。 :)
【解决方案2】:

要在视图中直接显示年龄,您可以使用:

\Carbon\Carbon::parse($pet->date_birth)->diff(\Carbon\Carbon::now())->format('%y years, %m months and %d days');

参考: Calculate Age from date stored in database in Y-m-d using Laravel 5.2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多