laravel - Laravel eloquent 模型使用自定义表和主键的主键值不正确
问题描述
我正在将应用程序从直接 PHP 迁移到使用 Laravel。当前用户表是使用类型Person
的主键调用person_id
的unsigned bigint(20)
。
我已使用以下内容更新了我的 App\User 模型:
protected $table = 'Person';
protected $primaryKey = 'person_id';
每当我提出请求和检查Auth->user()
时,person_id
总是错误的值。我预期的 id 是4294967410
,但它正在返回2147483647
。用户的所有其他属性都是正确的(电子邮件、姓名等)。
我很困惑为什么会这样。我正在使用全新安装的 laravel。
解决方案
如果不重复PHP 中 int 的最大大小是多少?
你得到PHP_INT_MAX
的是 2147483647 在 32 位机器上。
例如,在我的 Mac 上,int 限制为:
Psy Shell v0.9.4 (PHP 7.1.14 — cli) by Justin Hileman
>>> echo PHP_INT_MAX
9223372036854775807⏎
解决方案是使用 64 位机器和 64 位 PHP 构建。
推荐阅读
- azure - 是否可以在守护进程中使用 Azure 用户凭据?
- r - 如何使用循环将多个 .txt 文件导入 r 进行文本分析
- javascript - 当我在用户单击后动态添加 hr 标签时,锚点 href 不起作用
- node.js - 如何在执行 ng serve 时从 Angular 应用程序调用外部 API
- ethereum - 交易在 etherscan.io 上显示,但在 API.etherscan 上没有显示
- sql - 在 Join 子句上使用 UDTF
- authentication - laravel 8 中不存在目标类 [auth]
- javascript - 无法使用 Node.js 以正确的格式将块数据推送到数组中
- laravel - Laravel:如何通过 API postman 上传图像并将其保存到数据库(phpmyadmin)
- javascript - 如何在桌面模式下禁用 CSS 媒体查询