- 制裁版本:^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();
});
我修复了它,但我不得不更改非项目文件。
在mongoDB的vendor/laravel/sanctum/src/PersonalAccessToken.php
中必须使用JenssegersMongodbEloquentModel
PersonalAccessToken.php
类似于
use JenssegersMongodbEloquentModel;
use LaravelSanctumContractsHasAbilities;
class PersonalAccessToken extends Model implements HasAbilities
{
......
}