【问题标题】:laravel cashier not working with jessengers mongodblaravel 收银员不使用 jessengers mongodb
【发布时间】:2017-02-02 05:37:34
【问题描述】:

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

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

收到此错误:

致命错误:在 null 上调用成员函数 getDateFormat() /location/to/laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php 在线2990 在 null 上调用成员函数 getDateFormat()

我已经试过了:

Github Issue #222

Github Issue #904

Github Issue #618

【问题讨论】:

  • 从中获得乐趣?
  • 嘿,马特,不,我没有得到任何解决方案,我使用了另一个不是收银员的插件,如果您需要名称,请告诉我。我只是忘记了。这是用于带有条纹的订阅。
  • 是的,我认为 mongo 可能会给我带来更多的集成问题……我最终回到了具有多个数据库的 postgres 并使用 mongo db/driver 只是为了我需要 mongo 的表。不过谢谢!
  • 是的,很多,甚至 php7 仍然没有得到 jessenger 的正确支持,我最终为 MongoDB jessenger laravel 的 oauth2 服务器降级为 php5。
  • 啊!到目前为止,我自己对 php7 没有任何问题,但是我的要求非常基本!

标签: php mongodb laravel-5 laravel-cashier


【解决方案1】:

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

将 Subscription.class 和 SubscriptionItem.class 从 Cashier 复制到您的 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);

【讨论】:

    猜你喜欢
    • 2019-01-08
    • 2014-10-28
    • 2018-03-28
    • 2018-06-17
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    相关资源
    最近更新 更多