在正式进入本节的以前,让咱们先来看看什么是ORM。php
ORM,即 Object-Relational Mapping(对象关系映射),它的做用是在关系型数据库和业务实体对象之间做一个映射,这样,咱们在操做具体的 业务对象时,就不须要再去和复杂的SQL语句打交道,只需简单的操做对象的属性和方法便可。laravel
ORM 两种最多见的实现方式是 ActiveRecord 和 DataMapper,ActiveRecord 尤为流行,在不少框架中都能看到它的身影。二者的区别主要在于 ActiveRecord 中模型与数据表一一对应,而 DataMapper 中模型与数据表是彻底分离的。数据库
Laravel 中的 Eloquent ORM 使用的也是 ActiveRecord 实现方式,每个 Eloquent 模型类对应着数据库中的一张表,咱们经过调用模型类的相应方法实现对数据库的增删改查。app
咱们使用artisan命令来建立模型:框架
php artisan make:model Models/Article
laravel默认将全部建立的模型放到app路径下,咱们也能够在建立时指定一个文件夹。咱们建立的这个模型 就在app\Models\路径下。post
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Article extends Model { // }
若是不指定的话,Article模型对应的表就是articles,若是是一个Order模型 那它对应的表就是 orders,一次类推,若是要指定别的代表就添加一下代码:spa
//指定别的表名 public $table = 'article';
若是不指定主键,默认的主键是:id,若是要指定别的主键:code
//指定别的主键 protected $primaryKey = 'article_id';
默认状况下,Eloquent模型类会自动管理时间戳列create_at
和update_at
,若是要取消自动管理,能够设置$timestamps
属性为false
:orm
public $timestamps = false;
还有,若是你想要设置时间戳的格式,可使用$dateFormat
属性,该属性决定了日期时间以何种格式存入数据库,以及以何种格式显示:对象
// 设置时间戳格式为Unix protected $dateFormat = 'U';