【问题标题】:Call to a member function prepare() on null sanctun laravel mongodb在 null sanctun laravel mongodb 上调用成员函数 prepare()
【发布时间】:2021-12-22 19:15:27
【问题描述】:
  • 圣所版本:^2.12
  • Laravel 版本:8.69.0
  • PHP 版本:7.4
  • 数据库驱动和版本:mongoDB

说明:

系统完全设置后,一切正常。但是在$user->createToken('token_base_name')->plainTextToken创建新令牌的更改之后,请继续给我Call to a member function prepare() on null

personal_access_tokens 表存在但为空。

Schema::create('personal_access_tokens', function (Blueprint $table) {
            $table->morphs('tokenable');
            $table->string('name'); # OR $table->string('token_base_name'); ->> no changes
            $table->string('token', 64)->unique();
            $table->text('abilities')->nullable();
            $table->timestamp('last_used_at')->nullable();
            $table->timestamps();
        });

【问题讨论】:

  • 听起来你还没有连接到数据库
  • 我愿意。我可以从其他表中获取记录。错误出现在createToken sanctum 方法@RiggsFolly

标签: php laravel mongodb


【解决方案1】:

我修复了它,但我不得不更改非项目文件。

vendor/laravel/sanctum/src/PersonalAccessToken.php for mongoDB 中必须使用Jenssegers\Mongodb\Eloquent\Model

PersonalAccessToken.php 就像:


use Jenssegers\Mongodb\Eloquent\Model;
use Laravel\Sanctum\Contracts\HasAbilities;

class PersonalAccessToken extends Model implements HasAbilities
{

 ......
 
}

【讨论】:

  • 您最好向该软件包的开发人员报告,您可能做了正确的事情,但也可能没有,当您升级到新版本时,您将失去该更改
猜你喜欢
  • 1970-01-01
  • 2018-01-12
  • 1970-01-01
  • 2016-06-27
  • 2019-07-29
  • 1970-01-01
  • 2020-03-11
相关资源
最近更新 更多