Laravel模型怎么定义_LaravelEloquent模型定义与使用方法

蓮花仙者
发布: 2025-11-23 20:44:52
原创
543人浏览过
Laravel的Eloquent ORM通过模型操作数据库,每个表对应一个模型,支持查询、增删改等操作;2. 使用php artisan make:model生成模型,默认对应复数小写表名;3. 可配置$table、$primaryKey、$timestamps、$fillable等属性;4. 基本方法包括all()、find()、where()->get()、create()、save()和delete();5. 支持belongsTo、hasMany、belongsToMany等关联关系,便于数据访问。

laravel模型怎么定义_laraveleloquent模型定义与使用方法

Laravel 的 Eloquent ORM 提供了非常优雅的方式来操作数据库。每个数据库表对应一个 Eloquent 模型,通过模型可以方便地进行查询、插入、更新和删除等操作。定义和使用 Eloquent 模型并不复杂,下面详细介绍其基本用法。

创建 Eloquent 模型

在 Laravel 中,模型通常存放在 app/Models 目录下(默认是 app 目录,也可自定义)。你可以使用 Artisan 命令行工具快速生成模型:

php artisan make:model Article
登录后复制

这条命令会生成一个 Article.php 模型文件。默认情况下,Eloquent 会假设该模型对应的数据表是 articles(即类名的复数小写形式)。

模型基本配置

生成的模型会继承 Illuminate\Database\Eloquent\Model 类,你可以根据需要进行配置:

  • $table:指定对应的数据库表名
  • $primaryKey:设置主键字段,默认是 id
  • $timestamps:控制是否自动维护 created_atupdated_at 字段
  • $fillable:定义可批量赋值的字段
  • $guarded:定义不允许批量赋值的字段(与 fillable 互斥)

示例:

eMart 网店系统
eMart 网店系统

功能列表:底层程序与前台页面分离的效果,对页面的修改无需改动任何程序代码。完善的标签系统,支持自定义标签,公用标签,快捷标签,动态标签,静态标签等等,支持标签内的vbs语法,原则上运用这些标签可以制作出任何想要的页面效果。兼容原来的栏目系统,可以很方便的插入一个栏目或者一个栏目组到页面的任何位置。底层模版解析程序具有非常高的效率,稳定性和容错性,即使模版中有错误的标签也不会影响页面的显示。所有的标

eMart 网店系统 0
查看详情 eMart 网店系统
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    protected $table = 'posts'; // 对应数据表
    protected $primaryKey = 'post_id';
    public $timestamps = true;
    
    protected $fillable = ['title', 'content', 'author_id'];
}
登录后复制

基本使用方法

定义好模型后,就可以在控制器或路由中使用它来操作数据:

  • 查询所有记录Article::all()
  • 根据主键查找Article::find(1)
  • 条件查询Article::where('status', 'published')->get()
  • 新增数据
    Article::create(['title' => '新文章', 'content' => '内容...']);
    登录后复制
  • 更新数据
    $article = Article::find(1); $article->title = '新标题'; $article->save();
    登录后复制
  • 删除数据Article::destroy(1)$article->delete()

关联关系定义

Eloquent 支持多种关联关系,比如一对一、一对多、多对多等。你可以在模型中定义方法来建立关联:

  • 一篇文章属于一个作者
    public function author() { return $this->belongsTo(Author::class); }
    登录后复制
  • 一个作者有多篇文章
    public function articles() { return $this->hasMany(Article::class); }
    登录后复制
  • 文章和标签多对多
    public function tags() { return $this->belongsToMany(Tag::class); }
    登录后复制

定义后可通过 $article->author->name 这样的方式访问关联数据。

基本上就这些。只要掌握模型定义、属性配置和基础操作,就能高效使用 Eloquent 实现数据交互。不复杂但容易忽略细节,建议结合文档实践巩固。

以上就是Laravel模型怎么定义_LaravelEloquent模型定义与使用方法的详细内容,更多请关注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号