首页  >  文章  >  后端开发  >  如何解决 Laravel 5.2 中的自定义主键转换问题?

如何解决 Laravel 5.2 中的自定义主键转换问题?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-19 16:48:30740浏览

How to Resolve Custom Primary Key Conversion Issue in Laravel 5.2?

Laravel 5.2:自定义主键转换问题

在 Laravel 5.2 中使用字符串作为 Eloquent 表的自定义主键时,出现意外的转换问题。从模型中检索属性时,在此场景中充当主键的“verification_token”列将返回数值 0。

要解决此问题,需要覆盖默认类型铸件。通常,自增表假设ID是整数,这会导致转换出现问题。解决方案包括在 Eloquent 模型类中显式指定以下属性:

<code class="php">protected $primaryKey = 'verification_token';
public $incrementing = false;</code>

此外,建议在 Laravel 6.0 及更高版本中将“keyType”属性设置为“string”,如下所示:

<code class="php">protected $keyType = 'string';</code>

通过进行这些修改,Laravel 将正确地将自定义主键视为字符串,并避免不必要的整数转换。这确保了 Eloquent 模型中存储的数据的准确检索和操作。

以上是如何解决 Laravel 5.2 中的自定义主键转换问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn