Laravel ORM模型入门设置
发布日期:2025-04-04 02:40:16 浏览次数:12 分类:精选文章

本文共 1382 字,大约阅读时间需要 4 分钟。

Laravel 模型创建指南

在Laravel中创建模型,是开发过程中非常基础却又不可或缺的操作。本文将详细介绍模型创建的方法以及相关配置。

1. 创建模型

使用php artisan make:model命令即可快速创建模型。运行以下命令:

php artisan make:model User

建议在命令中添加-m--migration标志参数,这样会自动生成对应的数据库迁移文件。

注意:如果没有指定表名,模型默认将与数据表名称对应。例如,User模型会与users表绑定。

2. 定义表名

如果需要将模型绑定到非默认的表,可以通过$table属性自定义:

class User extends Model{    protected $table = 'user';}

3. 主键配置

模型默认使用id作为主键。你可以通过$primaryKey属性自定义主键名称:

protected $primaryKey = 'user_id'; // 自定义主键名称

主键属性

  • 默认主键类型为int,可以通过$incrementing = false禁止自增。
  • 设定主键类型为非整型字段。

4. 时间戳管理

默认情况下,Eloquent会自动管理created_atupdated_at时间字段。如果需要禁用这些字段,可以设置$timestamps属性:

public $timestamps = false; // 禁用自动管理时间字段

时间格式自定义:如果需要自定义时间格式,可以设置$dateFormat属性:

protected $dateFormat = 'Y-m-d H:i:s'; // 示例自定义日期格式

5. 可写入属性(可选)

通过$fillable定义可以 mass assign 的字段,$guarded则强制保护字段不允许 mass assign:

protected $fillable = ['name']; // 白名单:可通过 mass assign 赋值protected $guarded  = ['password']; // 黑名单:不可通过 mass assign 赋值

注意:这些设置仅适用于createsave等方法。如果需要自定义其他行为,可以通过事件监听来实现。

6. 数据库连接设置

如果需要为模型指定不同的数据库连接,可以使用$connection属性:

protected $connection = 'test'; // 例如,指定数据库连接名称

7. 高级配置

· 关系定义:通过定义关系(如belongsTohasMany等)实现模型间关联。· 模型事件:通过定义生命周期事件(bootcreated等)自定义模型行为。· 迁移手动执行:如果选择手动执行迁移,可以通过php artisan migrate运行。

8. 注意事项

· 数据安全:通过设置$fillable$guarded,防止未授权数据写入或修改。· 时间戳字段:如之前所述,默认字段命名如create_timeupdate_time,请确保数据库中有相应字段。· 数据库前缀:如果数据库表前缀设置了,要在模型中注明$table前缀。

通过以上配置,你可以根据需求灵活定制模型行为,充分发挥Eloquent的强大功能。

上一篇:Laravel Passport
下一篇:laravel on duplicate key update

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月19日 16时07分47秒