Laravel 5.2 - 使用字符串作为 Eloquent 表的自定义主键变为 0

2023-11-27

我试图使用电子邮件作为我的表的主键,所以我雄辩的代码是-

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class UserVerification extends Model
{
    protected $table = 'user_verification';
    protected $fillable =   [
                                'email',
                                'verification_token'
                            ];
    //$timestamps = false;
    protected $primaryKey = 'verification_token';
}

我的数据库是这样的-

enter image description here

但如果我这样做-

UserVerification::where('verification_token', $token)->first();

我得到这个-

{
  "email": "[email protected]",
  "verification_token": 0,
  "created_at": "2016-01-03 22:27:44",
  "updated_at": "2016-01-03 22:27:44"
}

So, the 验证令牌/首要的关键变为0。

有人可以帮忙吗?


这是于2015年12月29日添加到升级文档中,所以如果你之前升级过,你可能会错过它。

从模型中获取任何属性时,它会检查该列是否应转换为整数、字符串等。

默认情况下,对于自增表,此方法中假定 ID 为整数:

https://github.com/laravel/framework/blob/5.2/src/Illuminate/Database/Eloquent/Model.php#L2790

所以解决办法是:

class UserVerification extends Model
{
    // if your key name is not 'id'
    // you can also set this to null if you don't have a primary key
    protected $primaryKey = 'your_key_name';

    public $incrementing = false;

    // In Laravel 6.0+ make sure to also set $keyType
    protected $keyType = 'string';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 5.2 - 使用字符串作为 Eloquent 表的自定义主键变为 0 的相关文章

随机推荐

  • 如何连接Heroku Redis TLS节点?

    我似乎无法在 Node 上使用 TLS 连接到 Heroku Redis 这些文档并没有多大帮助 https devcenter heroku com articles secure heroku redis 有人有一个有效的例子吗 我应该
  • Markdown 将 JavaScript 中的双星号转换为粗体文本

    我正在尝试制作自己的可降价文本区域 就像 Stackoverflow 所做的那样 目标是让人们能够打字 blah blah 在文本区域中 并在 div 中输出 span style font weight bold blah blah sp
  • PHP:对象分配给静态属性,这是非法的吗?

    将某个对象分配给静态属性是非法的吗 我在下面的代码中收到 HTTP 500 错误 require once class linkedlist php class SinglyLinkedlistTester public static ll
  • 创建自定义 TSetProperty 属性编辑器

    我正在尝试为某些自定义组件创建自定义属性编辑器 自定义属性编辑器旨在编辑一些设置属性 例如 type TButtonOption boOption1 boOption2 boOption3 TButtonOptions set of TBu
  • 在 VB.NET 字符数组中添加“c”有什么作用?

    我想使用 String 方法 IndexOfAny 来检查指定字符串中是否存在字符 我在网上找到的使用 IndexOfAny 方法的示例在使用 VB NET 时在字符数组中的每个字符后面包含一个 c 然而 当我查看 VB NET 中简单字符
  • 无锁同步

    我的问题与多线程无锁同步有关 我想知道以下内容 实现这一目标的一般方法是什么 我在某处读到过有关 LockFreePrimitives 的内容 如 CompareAndExchange CAS 或 DoubleCompareAndExcha
  • 相关模型的每个实例的活动管理范围

    我对动态活动管理范围有疑问 我试图为我的应用程序中 项目 的每个 经理 创建一个范围 但是 当创建新的经理 或分配给项目 时 范围似乎不会更新 但如果我重新启动服务器 它们会更新 所以代码本身 有效 但显然不是按照我希望的方式 我是一个 r
  • Cert-Manager 证书续订流程 - 如何执行?

    我在用cert manager v0 10 0从其安装舵图 我在用kong就像入口控制器来管理入口操作 所以我创建了一个ClusterIssuer资源 以便可以通过 kong ingress 控制器从 Ingress 资源联系它 The C
  • C 语言中 ~0 的值是多少?

    我想得到的值INT MIN and INT MAX 我试过了 0 and 0 gt gt 1因为最左边的位是符号位但我得到了 1对于他们俩来说 很困惑为什么 0事实并非如此0xffffffff and 0 gt gt 1 to be 0x7
  • Yolo 没有开始训练

    我正在尝试在自定义数据集上训练 Yolo 一切似乎都正常运行 没有错误 但它只是没有训练 我按照教程进行操作https github com AlexeyAB darknet两次但我得到相同的结果 darknet detector trai
  • 资源解释为文档,但使用 MIME 类型 image/jpeg 进行传输

    我正在使用 Filepicker io 处理网站上的图像上传 我还使用 FancyBox 来显示一个漂亮的滑块 如果我使用常规图像 则一切正常 http i imgur com asdf jpeg as the img src 这意味着我单
  • 在 Unity 中验证 SSL\TLS 证书

    我在统一证书验证方面遇到问题 我使用 Net 类 HttpWebResponse 发出请求并向 ServicePointManager ServerCertificateValidationCallback 提供回调函数 该证书由权威机构签
  • 替换 JavaFX GridPane 中 (row,col) 处的节点

    我正在制作一个基于错误 感知 和吃食物的网格式游戏 模拟 我正在使用 gridPane 称为worldGrid 标签来显示虫子和食物的网格 当错误将细胞移向食物等时 这显然会不断更新 我目前有一个功能updateGrid int col i
  • 克隆 git“shallow”存储库时出错

    发出命令时出现以下错误git clone bare path to repo fatal attempt to fetch clone from a shallow repository 首先 什么是浅存储库 为什么它不允许我克隆它 将 g
  • 将整个 Javascript 文件包装在像“(function(){ … })()”这样的匿名函数中的目的是什么?

    我最近读了很多 Javascript 我注意到整个文件在要导入的 js 文件中像下面这样包装 function code 这样做的原因是什么而不是一组简单的构造函数 它通常是命名空间 见下文 并控制成员函数和 或变量的可见性 将其视为对象定
  • iOS 13 无法在后台获取 VoIP 推送通知

    我正在使用 CallKit 和 PushKit 在 Swift 中开发软件电话 在 iOS 13 之前 VoIP 通知运行良好 但在 iOS 13 更新后 我的应用程序在后台时无法收到 VoIP 推送通知 在前台didReceiveInco
  • Soundpool 在 Android 4.3 中不循环

    我有几个应用程序 其中使用 soundpool 来循环滴答作响的时钟的声音 这在所有以前的 Android 版本中都可以正常工作 但升级到 Android 4 3 后 声音不再循环 而只播放一次 我知道我可以使用 MediaPlayer 来
  • node.js 语法错误:无效或意外的标记

    我已经从以下位置下载并安装了node jshttps nodejs org en 我想运行一个js文件 console log hello I run 节点应用程序 js 并得到语法错误 SyntaxError Invalid or une
  • 使用 spock junit 测试和 gradle 构建系统在控制台上输出单元测试结果

    GNU Emacs 24 3 1 Gradle 1 12 spock core 0 7 Hello 我正在做单元测试spock framework使用gradle build system 当我运行测试时gradle test我刚刚看到一条
  • Laravel 5.2 - 使用字符串作为 Eloquent 表的自定义主键变为 0

    我试图使用电子邮件作为我的表的主键 所以我雄辩的代码是