Laravel中支持哪些迁移字段类型?

2026-05-07 07:270阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1157个文字,预计阅读时间需要5分钟。

Laravel中支持哪些迁移字段类型?

Laravel 迁移中,避免使用万能字段,如 string、boolean、json、dateTime 等,这些类型覆盖 90% 场景。错误类型会导致查询失效、Eloquent 转换异常或跨库迁移失败。

boolean 字段不是存 0/1 的整数

很多人用 tinyInteger('is_active') 模拟开关,但这是错误的起点。Laravel 的 boolean('is_active') 在 MySQL 中生成 TINYINT(1),在 PostgreSQL 中生成 BOOLEAN,Eloquent 读取时自动转为 PHP true/false;而手动用 tinyInteger 存 0/1,Eloquent 不会做语义转换,$user->is_active === 0(int)而非 false(bool),后续 if ($user->is_active) 逻辑可能意外通过。

阅读全文
标签:Laravel

本文共计1157个文字,预计阅读时间需要5分钟。

Laravel中支持哪些迁移字段类型?

Laravel 迁移中,避免使用万能字段,如 string、boolean、json、dateTime 等,这些类型覆盖 90% 场景。错误类型会导致查询失效、Eloquent 转换异常或跨库迁移失败。

boolean 字段不是存 0/1 的整数

很多人用 tinyInteger('is_active') 模拟开关,但这是错误的起点。Laravel 的 boolean('is_active') 在 MySQL 中生成 TINYINT(1),在 PostgreSQL 中生成 BOOLEAN,Eloquent 读取时自动转为 PHP true/false;而手动用 tinyInteger 存 0/1,Eloquent 不会做语义转换,$user->is_active === 0(int)而非 false(bool),后续 if ($user->is_active) 逻辑可能意外通过。

阅读全文
标签:Laravel