簡體   English   中英

Laravel Sanctum 自定義 model 執行 createToken 時拋出未知列

[英]Laravel Sanctum custom model throwing unkown column when exectuting createToken

我正在使用 Laravel Sanctum 並自定義了 model(遵循此處的配置: https://laravel.com/docs/9.x/sanctum#overriding-default-models )。

目前我的 model 結構如下:

id
tenant_id
name
token
abilities
last_used_at
created_at
updated_at
deleted_at (softdeletes)

當我嘗試創建令牌 $user->createToken('test') 時出現錯誤:

“字段列表”(也稱為“tokenable_type”)中的未知列“tokenable_id”,即。 它正在嘗試使用開箱即用的實現來生成令牌。

什么是最好的(最干凈的)方法來讓它工作。 我基於基於帳戶的令牌而不是基於用戶的令牌來使用它。

謝謝

Sanctum 允許你開箱即用地在任何 model 上定義令牌。如果你有一個 TenantModel,你可以只包含特征

class TenantModel extends Model
{

use HasApiTokens;
...

然后你可以做

$tenant->createToken('test') 

並使用租戶返回給您的令牌。 基本上你不需要為你的用例修改基礎 model。

您也可以稍后將 HasApiTokens 添加到其他模型,不會有任何問題,通過利用可變形列將使用相同的標記表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM