如何将 laravel 7 护照与 mongodb 一起使用?

how use laravel 7 passport with mongodb?

我在我的 Laravel 项目中安装了 jenssegers/laravel 包以使用 mongodb,但是当我尝试安装 passport 时出现此错误:

Call to a member function prepare() on null

我尝试使用 designmynight package,但它似乎与我用于 Laravel 7 的 jenssegers v4 不兼容。

知道如何解决这个问题吗?

非常Simple.Without任何额外的包裹都是可能的。

仅编辑此路径中的 AuthCode.php、PersonalAccessClient.php、Client.php 和 Token.php:

"/vendor/laravel/passport/src/"=13=]

替换此行:

use Jenssegers\Mongodb\Eloquent\Model;

通过这条线:

use Illuminate\Database\Eloquent\Model;

注意:如果您在所有顶级型号中使用特定于您的 mongo 连接的多连接,如下所示:

protected $connection = 'mongodb';

目前我正在使用 Laravel 8 和 Jessengers V4,我遇到了同样的问题

护照的内部供应商只需替换为:

use Jenssegers\Mongodb\Eloquent\Model

相反

   use Illuminate\Database\Eloquent\Model;

一切正常。我建议编写一个自动替换的脚本,也许使用命令“sed”或 fork 项目。