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中文网其他相关文章!