简体   繁体   English

laravel 收银员不与 jessengers mongodb 合作

[英]laravel cashier not working with jessengers mongodb

I am trying to use laravel/cashier with jessengers MongoDB.我正在尝试将 laravel/cashier 与 jessengers MongoDB 一起使用。 I am using Laravel 5.2 and Jessenger MongoDb Extension我正在使用 Laravel 5.2 和 Jessenger MongoDb 扩展

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

Getting this error:收到此错误:

Fatal error: Call to a member function 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 null致命错误:在 /location/to/laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php 中,在第 2990 行调用成员函数 getDateFormat() on null 调用成员函数 getDateFormat() on空值

I already Tried:我已经试过了:

Github Issue #222 Github 问题 #222

Github Issue #904 Github 问题 #904

Github Issue #618 Github 问题 #618

It worked for me to use the AliasLoader and simply provide Subscription.class and SubscriptionItem.class with my own models.使用 AliasLoader 并简单地为 Subscription.class 和 SubscriptionItem.class 提供我自己的模型对我有用。

Copy Subscription.class and SubscriptionItem.class from Cashier into your Models folder.将 Subscription.class 和 SubscriptionItem.class 从 Cashier 复制到您的 Models 文件夹中。

  • Change namespace to your Models namespace将命名空间更改为您的模型命名空间
  • Replace model class import to use Jenssegers\\Mongodb\\Eloquent\\Model;替换模型类导入use Jenssegers\\Mongodb\\Eloquent\\Model;

In AppServiceProvider add在 AppServiceProvider 添加

$loader = AliasLoader::getInstance();

$loader->alias(Subscription::class, \App\Models\Subscription::class);
$loader->alias(SubscriptionItem::class, \App\Models\SubscriptionItem::class);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM