laravel的ORM 对象关系映射

Laravel 中的 ORM(Eloquent ORM)是 Laravel 框架内置的一种对象关系映射系统,用于在 PHP 应用中与数据库进行交互。Eloquent 提供了一种优雅而直观的语法,使得开发者可以使用面向对象的方式进行数据库查询和操作。

定义模型(Models)

在 Laravel 中,每个数据库表对应一个模型。模型是 Eloquent ORM 的核心,它与数据库表之间建立了映射关系。

php 复制代码
// 例如,定义一个 User 模型
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    // 指定模型对应的数据表
    protected $table = 'users';
}

查询数据

php 复制代码
// 查询所有用户
$users = User::all();

// 查询单个用户
$user = User::find(1);

// 使用条件查询
$users = User::where('name', 'John')->get();

// 还可以链式调用多个查询条件
$users = User::where('name', 'John')->orWhere('name', 'Jane')->get();

插入和更新数据

php 复制代码
// 插入一条数据
$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->save();

// 更新数据
$user = User::find(1);
$user->name = 'New Name';
$user->save();

删除数据

php 复制代码
// 删除一条数据
$user = User::find(1);
$user->delete();

// 删除满足条件的数据
User::where('name', 'John')->delete();

关联关系

php 复制代码
// 定义一对多关系
class Post extends Model
{
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

// 使用关联
$post = Post::find(1);
$user = $post->user;

这只是 Laravel Eloquent ORM 的基本用法,该 ORM 还支持更多高级特性,如软删除、观察者模式、查询构造器等。通过 Eloquent,Laravel 简化了与数据库的交互,提高了开发效率。

相关推荐
小此方3 小时前
Linux网络(二十):TCP拥塞控制与延迟应答详解:从拥塞窗口到TCP性能优化,理解TCP与UDP的效率差异
linux·网络·php
专业程序开发源3 小时前
springboot高校学生社团管理系统74810-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
AC赳赳老秦4 小时前
OpenClaw 与 FineBI 联动方案:公开数据自动采集与实时业务分析看板实践
大数据·开发语言·python·php·finebi·deepseek·openclaw
AIGC小尼4 小时前
8G 显存零基础本地部署 AI 漫剧全流程|ComfyUI+Wan2.2+FFmpeg 离线成片完整方案(含代码 / 指令 / 排坑)
人工智能·ffmpeg·php·comfyui·ai漫剧
新鲜势力呀5 小时前
PHP 文件上传系统实战:从上传卡顿到分片上传 + 秒传 + 云存储架构完整优化方案
开发语言·架构·php
专业程序开发源5 小时前
flask动漫推荐系统32319-计算机课程设计、毕业设计
java·spring boot·后端·django·flask·php·课程设计
寺中人1 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
hengdonghui1 天前
Writeup 4 津门杯 2021 Web hate_php
php·web·ctf·通配符
现任明教教主~1 天前
企业查询系统源码
php
派小心.1 天前
页面关闭前埋点丢失:sendBeacon验收
开发语言·php