当前位置: 首页 > 知识库问答 >
问题:

在Laravel Passport中将用户模型主键ID更改为另一个

齐成和
2023-03-14

我有一个项目,在该项目中,我使用User.php模型文件中的以下命令将用户模型主键从“id”更改为“MemberX”:

受保护的$primaryKey='MemberID'

但是我的护照访问令牌表仍然使用“id”。我想要"MemberX"

身份证件

用户id:

客户端\u id名称作用域已撤销已创建\u在更新\u在过期\u在

共有2个答案

步联
2023-03-14

也许您应该检查laravel/config/auth.php上的驱动程序是否具有雄辩的,而不是数据库

'providers' => [
        'users' => [
            'driver' => 'eloquent', //instead of database
            'model' => App\User::class,
        ],

数据库使用数据库用户提供程序,该方法仅在id列上查看。

eloquent使用EloquentUserProvider,如果在查看id之前定义了$primaryKey,则find方法会查看主键。

封昊天
2023-03-14

将此代码添加到您的用户模型中

{
   return $this->hasMany(Passport::clientModel(), 'user_id', 'MemberID');
}
 类似资料:
  • 我有两张桌子: null null null null 我不知道现在该做什么(一些脚本?)。我需要将表列中的值更改为表列中的相应值。 如果太混乱,我会试着举一个正常数据的例子: 表1中的行(oldprimarykey、sometext、newprimarykey): null null

  • 问题内容: 我试图将我的SQL数据库中表的主键从现有键更改为复合键,其中不包括现有列。由于出现以下错误消息,因此以下代码无法正常工作: 删除主键: PRIMARY附近的语法不正确。预期为COLUMN,CONSTRAINT,ID或QUOTED_ID 添加主键: PRIMARY附近的语法不正确。 期望ID T-SQL代码: 编辑 我可以通过使用以下两个查询语句来完成此操作 我没有要求SQL“ DROP

  • 问题内容: 兼职勉强的DBA在这里。我想将现有的主键索引从群集更改为非群集。语法在逃避我。 这就是现在的脚本编写方式。 我在在线文档中没有看到ALTER CONSTRAINT语句。 问题答案: 删除聚集索引,然后将主键重新创建为非聚集键:

  • 问题内容: 我在80多个不同的表中都有一个ReferenceIDvarchar(6)列。我需要在分配ID的政府组织实施更改之后,将其扩展到整个db的varchar(8)。 我希望声明一个游标以获取表名,如下所示: 然后按如下所示编辑类型: 之所以失败,是因为该列是某些表中主键的一部分(并且PK中包含的列因表而异)。 我真的不想不必为每个表手动删除并重新创建每个PK。 在游标中,有一种方法可以在更改

  • 问题内容: 因此,我不确定如何问这个问题,因为似乎很容易找到这个问题的答案。 我有3张桌子;ContentHeader,ContentType1和ContentType2。ContentHeader具有主自动递增键。ContentType1和ContentType2都维护指向ContentHeader的主键的外键。这些外键也是它们各自表的主键。 我创建了四个类: 尝试生成架构时,这将引发空指针。我

  • 我有两个表格小部件和页面小部件 PageWidget模型: 小部件模型: 在存储时,我必须同步widget_代码,我使用如下方式: 它不起作用,因为在小部件模型中,它默认主键为_id列,我想给出与代码列的关系 我在小部件模型中尝试$primaryKey='code',但我不能使用它,因为小部件模型的另一个关系使用了_id列。