zoukankan      html  css  js  c++  java
  • Laravel5.1 模型--Model简介

    在正式进入本节的之前,让我们先来看看什么是ORM。

    ORM,即 Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在操作具体的 业务对象时,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法即可。

    ORM 两种最常见的实现方式是 ActiveRecord 和 DataMapper,ActiveRecord 尤其流行,在很多框架中都能看到它的身影。两者的区别主要在于 ActiveRecord 中模型与数据表一一对应,而 DataMapper 中模型与数据表是完全分离的。

    Laravel 中的 Eloquent ORM 使用的也是 ActiveRecord 实现方式,每一个 Eloquent 模型类对应着数据库中的一张表,我们通过调用模型类的相应方法实现对数据库的增删改查。

    创建模型

    我们使用artisan命令来创建模型:

    php artisan make:model Models/Article

     laravel默认将所有创建的模型放到app路径下,我们也可以在创建时指定一个文件夹。我们创建的这个模型 就在appModels路径下。

    <?php
    
    namespace AppModels;
    
    use IlluminateDatabaseEloquentModel;
    
    class Article extends Model
    {
        //
    }

    指定表名

    如果不指定的话,Article模型对应的表就是articles,如果是一个Order模型 那它对应的表就是 orders,一次类推,如果要指定别的表明就添加一下代码:

        //指定别的表名
        public $table = 'article';

    指定主键

    如果不指定主键,默认的主键是:id,如果要指定别的主键:

        //指定别的主键
        protected $primaryKey = 'article_id';

    时间戳设置

    默认情况下,Eloquent模型类会自动管理时间戳列create_atupdate_at,如果要取消自动管理,可以设置$timestamps属性为false

        public $timestamps = false;

    还有,如果你想要设置时间戳的格式,可以使用$dateFormat属性,该属性决定了日期时间以何种格式存入数据库,以及以何种格式显示:

        // 设置时间戳格式为Unix
        protected $dateFormat = 'U';
     
  • 相关阅读:
    选择排序
    迭代器使用过程中为什么抛出ConcurrentModificationException
    自定义实现的ArrayList以及自定义实现的Iterator迭代器
    单链表
    collections方法记录
    JDK1.9中关于集合的新方法
    请使用时间相关的API,计算一个人从出生到现在一共活了多少天?
    java中对象的向上转型和向下转型
    异常相关知识整理
    可变参数相关知识
  • 原文地址:https://www.cnblogs.com/Alex-sk/p/6441236.html
Copyright © 2011-2022 走看看