0

我正在尝试将 laravel/cashier 与 jessengers MongoDB 一起使用。我正在使用 Laravel 5.2 和 Jessenger MongoDb 扩展

$user->newSubscription($plan_data['name'], $plan_data['id'])->create($stripeToken);

收到此错误:

致命错误:调用成员函数 getDateFormat() on null in /location/to/laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 2990 Call to a member function getDateFormat() on无效的

我已经尝试过:

Github 问题 #222

Github 问题 #904

Github 问题 #618

4

1 回答 1

0

使用 AliasLoader 并简单地为 Subscription.class 和 SubscriptionItem.class 提供我自己的模型对我很有用。

将 Cashier 中的 Subscription.class 和 SubscriptionItem.class 复制到 Models 文件夹中。

  • 将命名空间更改为您的模型命名空间
  • 将模型类导入替换为use Jenssegers\Mongodb\Eloquent\Model;

在 AppServiceProvider 添加

$loader = AliasLoader::getInstance();

$loader->alias(Subscription::class, \App\Models\Subscription::class);
$loader->alias(SubscriptionItem::class, \App\Models\SubscriptionItem::class);
于 2021-12-21T10:23:35.880 回答