ORM 和 Eloquent

ORM

ORM(Object Relational mapping) 称为『对象关系映射』,是针对面向对象的编程语言(比如 PHP)和关系型数据库(比如 MySQL)的一种技术,它的目的是为了实现这两种不同类型的数据系统的 数据交互

简答点说就是:

  1. 用一个 PHP Class 代表数据库里的一张表,这个 Class 被称为『模型』(Model)。在 Laravel 中,所有继承 Illuminate\Database\Eloquent\Model 的类就是一个模型。
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Author extends Model
{

}
  1. 类的一个实例表示数据库里的一条记录。
// $author 表示数据库表 `authors` 中主键是 `1` 的那条记录
$author = Author::find(1);
  1. 对 Model 操作都会映射成对应的 SQL 语句,你几乎不用写原生 SQL 了
$author->name = 'baooab';
$author->save();

// 产生的 SQL 如下:
update `authors` set `name` = 'baooab', `updated_at` = '2017-08-20 15:10:43' where `id` = 1;

Eloquent

Laravel 的 ORM 实现称为『Eloquent』,又称『Eloquent ORM』。Laravel 中的模型是 ORM 实现的载体,称 『Eloquent Model』,简称『Model』。

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由 Summer 于 8年前 加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!