laravel 中 Eloquent ORM 以模型映射数据表,通过迁移创建表,支持链式查询(如 all、find、where)、create/save/update 增改操作(需 fillable 白名单)、destroy/delete 删除(含软删除),语义清晰高效。

在 Laravel 中,Eloquent ORM 是默认的 数据库 操作方式,它让数据库交互变得像操作 php 对象 一样自然。只要模型定义正确,CRUD 操作几行代码就能完成。
创建模型和迁移
先生成模型和对应的数据表迁移:
- php artisan make:model Post -m —— 创建
Post模型和create_posts_table迁移 - 编辑迁移文件,在
up()方法中定义字段,比如:
$table->String('title');<br>$table->text('content');<br>$table->timestamps(); - 运行 php artisan migrate 创建数据表
读取(Read):查询数据
Eloquent 提供链式查询方法,返回模型实例或集合:
- Post::all() —— 获取全部文章
- Post::find(1) —— 根据主键查单条(查不到返回 NULL)
- Post::where(‘status’, ‘published’)->get() —— 条件查询,返回集合
- Post::firstWhere(‘slug’, ‘hello-world’) —— 查第一条匹配记录
新增(Create)与更新(Update)
两种常用方式:静态方法 or 实例方法
- 新增:
$post = Post::create(['title' => '新文章', 'content' => '正文']);
注意:模型需设置$fillable白名单,如protected $fillable = ['title', 'content']; - 更新:
$post = Post::find(1);<br>$post->title = '已修改标题';<br>$post->save();或直接用
Post::where('id', 1)->update(['title' => '批量改标题']);
删除(Delete)
支持软删除和硬删除:
- Post::destroy(1) —— 根据主键删除(可传数组批量删)
- $post->delete() —— 实例调用删除
- 启用软删除:在模型中加
use SoftDeletes;,并添加deleted_at字段到迁移中;此时delete()不真正删数据,只标记时间
基本上就这些。Eloquent 的核心是“模型即数据表”,写法简洁、语义清晰,配合自动时间戳、批量赋值保护、关系预加载等特性,日常开发效率很高。
以上就是 Laravel 如何使用 Eloquent ORM 进行数据库操作?(CRUD 示例)的详细内容,更多请关注 php 中文网其它相关文章!