所以我最近从 Laravel 5.1 -> 5.4 和 Cashier 从 5.0 -> 7.0 升级。在我的刀片中,我正在使用此检查来查看用户是否处于宽限期
<?php if(Auth::check() && Auth::user()->onGracePeriod()): ?>
但是现在此代码引发异常
Call to undefined method Illuminate\Database\Query\Builder::onGracePeriod()
根据文档,我的用户模型具有导入
use Laravel\Cashier\Billable;
以及类本身内部的 use 语句
class User extends Model implements AuthenticatableContract,
CanResetPasswordContract
{
use Authenticatable, CanResetPassword, Billable;
/**
* The database table used by the model.
*
* @var string
...
还有其他可能导致此错误的原因吗?搜索代码,看起来该函数在收银员的 Subscription.php 中,但我似乎找不到修复方法。我也有文档中经常引用的包含日期
protected $dates = ['trial_ends_at', 'subscription_ends_at'];
但是我在 5.1 之前就使用了那个和我的数据库,所以我怀疑这是相关的。有任何想法吗?我唯一能想到的是,从 5.1 -> 5.4 移动时,我必须删除“BillableContract”,因为它似乎不再被使用,有什么我必须替换的吗?谢谢!