奏鸣曲碳库中的当年使用方法

Posted

技术标签:

【中文标题】奏鸣曲碳库中的当年使用方法【英文标题】:How to use is current year from carbon library on sonata 【发布时间】:2019-12-16 03:33:39 【问题描述】:

我是奏鸣曲的新手,我正在尝试使用碳库生成今年所有记录的输出。

这是来自碳库 碳::isCurrentYear 没有争论 返回布尔值 检查实例是否与当前时刻在同一年。 方法添加 1.22.0 无参数

以下是我尝试应用的代码

 public function getIsActiveThisYear(): bool
    
        $now = Carbon::isCurrentYear();
        $endofyear = $endDate->year;
        $startofyear = $startDate->year;
        return $this->$endofyear == $now || $this->$startofyear == $now;  
    

此代码导致的错误是:

isCurrentYear does not exist

【问题讨论】:

Carbon::isCurrentYear 不是类的静态方法,它可以称为$date->isCurrentYear()。顺便说一句,你的代码也毫无意义 $endDate- 和 startDate 未定义。 【参考方案1】:

这样做:

$date = new DateTime(); // Carbon extends the php DateTime class so it's the same.
$thisYear = $date->format('Y');

查看文档! :-)

https://www.php.net/manual/en/class.datetime.php

您还需要传递开始和结束日期

public function getIsActiveThisYear(DateTime $startDate, DateTime $endDate): bool

【讨论】:

以上是关于奏鸣曲碳库中的当年使用方法的主要内容,如果未能解决你的问题,请参考以下文章

奏鸣曲管理员,覆盖模板中的选择?

将页面变量获取到奏鸣曲树枝模板

奏鸣曲媒体包中的错误

/app/AppKernel.php 中的奏鸣曲\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle'

Symfony 4 中的奏鸣曲媒体包模板

以奏鸣曲管理员的编辑形式为用户设置角色