Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)

3次阅读

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

Laravel 如何使用 Eloquent ORM 进行数据库操作?(CRUD 示例)

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

站长
版权声明:本站原创文章,由 站长 2025-12-19发表,共计1155字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources