我使用CarbonServiceProvider
创建了一个php artisan make:provider CarbonServiceProvider
类,并将其添加到我的providers
文件的app.php
数组中。
在boot()
方法中,我添加了此宏:
public function boot()
{
if(!Carbon::hasMacro('nextWorkingDaySameTime')){
Carbon::macro('nextWorkingDaySameTime', function ($startHour = 8, $endHour = 17) {
[...]
return $this;
});
}
}
我注意使用Illuminate\Support\Carbon;
而不是Carbon\Carbon
,因为从那以后它说macro()
是不确定的。
每当我这样调用此宏时:
\Carbon\Carbon::nextWorkingDaySameTime();
它失败,并显示以下消息:
Call to undefined method Carbon\Carbon::nextWorkingDaySameTime()
答案 0 :(得分:1)
问题是您正在致电\Carbon\Carbon::nextWorkingDaySameTime();
您应该改为致电\Illuminate\Support\Carbon::nextWorkingDaySameTime();
。