Laravel Cashier - 未找到类“App\Models\User”

Fel*_*ime 3 laravel laravel-cashier

当尝试使用 Laravel Cashier 取消订阅时,它返回错误:

找不到类“App\Models\User”

代码:

public function cancel(Request $request) {
    $subscription = Auth::user()->subscription('default');
    $subscription->cancel();
}
Run Code Online (Sandbox Code Playgroud)

这可能是因为我的用户模型不位于“App\Models\User”(Laravel 8 中的新默认值),而是位于“App\User”。

在官方文件中,提到了这一点:

如果您使用的模型不是 Laravel 提供的 App\Models\User 模型,则需要发布并更改提供的 Cashier 迁移以匹配替代模型的表名称。

但这不是问题。我的表名是相同的,但我的模型的位置不同。

我该如何解决?

Mic*_*vec 5

use App\User; // this is important in your case
use Laravel\Cashier\Cashier;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Cashier::useCustomerModel(User::class);
}
Run Code Online (Sandbox Code Playgroud)

文档: https: //laravel.com/docs/8.x/billing#billable-model