【发布时间】:2017-03-08 17:01:26
【问题描述】:
所以我最近从 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”,因为它似乎不再被使用,我需要用什么来替换它吗?谢谢!
【问题讨论】:
标签: laravel laravel-5 laravel-5.1 laravel-5.4 laravel-cashier