ORM 和 Eloquent
ORM
ORM(Object Relational mapping) 称为『对象关系映射』,是针对面向对象的编程语言(比如 PHP)和关系型数据库(比如 MySQL)的一种技术,它的目的是为了实现这两种不同类型的数据系统的 数据交互。
简答点说就是:
- 用一个 PHP Class 代表数据库里的一张表,这个 Class 被称为『模型』(Model)。在 Laravel 中,所有继承
Illuminate\Database\Eloquent\Model
的类就是一个模型。
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Author extends Model
{
}
- 类的一个实例表示数据库里的一条记录。
// $author 表示数据库表 `authors` 中主键是 `1` 的那条记录
$author = Author::find(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
于 7年前 加精