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';
     
  • 相关阅读:
    [flash]准备添加动态加载flash,防止浏览者下载
    [Question]如何将韩文数据存入到数据库中,并在数据库中正确显示
    [other]毕业一年同学聚会
    [Question]要建立这样一个网站,应该怎么建立架构?
    [other]配置了一台K8平台的电脑
    Internet Explorer 7 Beta, Summer 2005
    [程序]粗制烂造的第一个windows应用程序
    [method]how to learn a language
    [other]昨天坐公交车没有买票!?
    五一长假你快乐吗?
  • 原文地址:https://www.cnblogs.com/Alex-sk/p/6441236.html
Copyright © 2011-2022 走看看