Laravel的Eloquent模型怎么用_EloquentORM基础用法入门

爱谁谁
发布: 2025-11-05 13:10:03
原创
708人浏览过
Eloquent ORM是Laravel中用于面向对象操作数据库的强大工具,通过创建模型与数据表关联。使用php artisan make:model Product生成模型,默认对应复数表名,可通过$table属性自定义表名,$primaryKey修改主键。支持链式查询如all()、where()、find()和first()。插入数据可通过new Product后调用save()或使用create()需定义$fillable。更新数据需修改实例属性后save()。删除支持destroy()和delete()方法,启用软删除需引入SoftDeletes trait并添加deleted_at字段,删除后可用withTrashed()查询。

laravel的eloquent模型怎么用_eloquentorm基础用法入门

如果您正在使用Laravel开发应用程序,并希望以面向对象的方式操作数据库,Eloquent ORM 是一个强大且直观的工具。以下是关于如何使用 Eloquent 模型进行基础操作的详细说明:

一、创建Eloquent模型

每个Eloquent模型都对应数据库中的一张表,默认情况下,模型会自动关联与其名称复数形式匹配的数据表。例如,User模型将对应users表。

1、在命令行中运行Artisan命令生成模型:php artisan make:model Product

2、生成的模型位于app/Models目录下(若未启用此命名空间,则默认在app目录)。

3、确保模型类继承自 Illuminate\Database\Eloquent\Model

二、定义模型关联数据表

当模型对应的表名不是默认的复数形式时,需要手动指定表名。

1、在模型中添加 $table 属性来指定自定义表名。

2、例如:protected $table = 'my_products'; 表示该模型操作my_products表。

3、如果主键字段不是id,可通过设置 $primaryKey 属性更改主键字段名。

三、执行数据库查询操作

Eloquent提供了链式调用方式用于构建查询条件,简化数据检索过程。

1、使用all()方法获取所有记录:Product::all()

2、通过where()方法添加查询条件,如:Product::where('price', '>', 100)->get()。

3、使用find()方法根据主键查找单条记录:Product::find(1)。

无阶未来模型擂台/AI 应用平台
无阶未来模型擂台/AI 应用平台

无阶未来模型擂台/AI 应用平台,一站式模型+应用平台

无阶未来模型擂台/AI 应用平台 35
查看详情 无阶未来模型擂台/AI 应用平台

4、使用first()获取满足条件的第一条数据:Product::where('status', 1)->first()。

四、插入和更新数据

通过创建模型实例或直接使用静态方法可以完成数据写入与修改。

1、新建模型实例并赋值:$product = new Product; $product->name = '手机';。

2、调用save()方法将数据写入数据库:$product->save()

3、使用create()方法批量填充数据,需确保模型中定义了 $fillable 属性。

4、更新已有记录时,先查询出模型实例,修改属性后再次调用save()。

五、删除数据记录

Eloquent支持软删除和物理删除两种方式,适用于不同业务场景。

1、通过主键删除:Product::destroy(1) 或 Product::destroy([1, 2, 3])。

2、在模型实例上调用delete()方法执行删除:$product->delete()

3、启用软删除功能需引入SoftDeletes trait并在表中添加deleted_at字段。

4、软删除后数据不会真正从数据库移除,仍可通过withTrashed()查看。

以上就是Laravel的Eloquent模型怎么用_EloquentORM基础用法入门的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号