zoukankan      html  css  js  c++  java
  • Laravel 5.2 四、.env 文件与模型操作

    一、.env文件

    .env 文件是应用的环境配置文件,在配置应用参数、数据库连接、缓存处理时都会使用这个文件。

    // 应用相关参数
    APP_ENV=local
    APP_DEBUG=true   //应用调试模式
    APP_KEY=base64:hMYz0BMJDJARKgrmaV93YQY/p9SatnV8m0kT4LVJR5w= //应用key
    APP_URL=http://localhost
    
    // 数据库连接参数
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=laravelblog
    DB_USERNAME=root
    DB_PASSWORD=
    DB_PREFIX='hd_'
    
    // 缓存相关参数
    CACHE_DRIVER=file
    SESSION_DRIVER=file
    QUEUE_DRIVER=sync
    
    // Redis 连接参数
    REDIS_HOST=127.0.0.1
    REDIS_PASSWORD=null
    REDIS_PORT=6379
    
    // 邮件相关参数
    MAIL_DRIVER=smtp
    MAIL_HOST=mailtrap.io
    MAIL_PORT=2525
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null  

    其中,有关这个 APP_KEY 的解释,在 config/app.php 中有如下注释:

    /*
    |--------------------------------------------------------------------------
    | Encryption Key
    |--------------------------------------------------------------------------
    |
    | This key is used by the Illuminate encrypter service and should be set
    | to a random, 32 character string, otherwise these encrypted strings
    | will not be safe. Please do this before deploying an application!
    |
    */
    
    'key' => env('APP_KEY'),
    
    'cipher' => 'AES-256-CBC',
    

    key 键读取 .env 文件的 APP_KEY ,一般是 32 位的随机字符串。cipher 键决定 APP_KEY 的长度,一般是 AES-256-CBC (默认)表示 key 长 32 位字符,或者 AES-128-CBC 表示 16 位。

    所以,为了保证会话和加密服务的安全, APP_KEY 必须设置,使用 Artisan 命令生成:

    php artisan key:generate

    这样,.env 文件中就会写入一个新的 APP_KEY 。

    二、模型操作

    Laravel 提供了 DB 类、查询构建器和 Elequent 模型这三个工具来实现数据库操作。

    1. DB类

    // 插入
    DB::insert('insert into hd_user(username, password) values(?, ?)', ['admin', 123456]);
    
    // 查询
    DB::select('select * from hd_user where username = ?', ['admin']);
    
    // 更新
    DB::update('update hd_user set password= ? where username = ?', [654321, 'admin']);
    
    // 删除
    DB::delete('delete from hd_user where username = ?', ['admin']); 

    注:dd() 函数用于打印变量的详细信息,是 Laravel 的辅助函数。

    2. 查询构建器

    DB 类的 table 方法为给定表返回一个查询构建器。

    // 查询所有
    DB::table('user')->get();
    
    // 查询多条
    DB::table('user')->where('age', '>', 20)->get();
    
    // 查询一条
    DB::table('user')->where('age', '>', 20)->first();
    
    // 查询特定字段
    DB::table('user')->select('name', 'email as user_email')->get();
    
    // distinct() 方法去重复
    $users = DB::table('user')->distinct()->get();
    

       

    3. Eloquent ORM

    迷人的ORM,Laravel 的 Elequent 模型提供了简洁的数据库操作。比查询构建器更对象化,封装性更高。功能不如查询构建器强大,但可以使用查询构建器的方法。

    1.创建模型

    php artisan make:model User

    2. 表名、主键、时间戳

    表名:默认模型类名的复数作为表名,可以在模型类中定义 protected $table 属性来覆盖。

    主键:默认主键名为"id",可以在模型类中定义 protected $primaryKey 属性来覆盖。

    时间戳:默认会管理 created_at 和 updated_at 字段,可以在模型类中定义 public $timestamps 属性为 false 取消。

    3.数据操作

    在控制器方法中:

    // 插入
    $user = new User;
    $user->username = 'admin';
    $user->save();
    
    
    // 查询
    
    // 查询所有
    User::get();
    
    // 查询多条
    User::where('age', '>', '20')->get();
    
    // 查询一条
    user::find(1);
    
    
    // 更新
    $user = User::find(1); // 查找主键为1的一条记录
    $user->username = 'new name';
    $user->save();         // 或者用 update() 方法
    
    
    // 删除
    
    // 方法1.先获取记录再删除
    User::find(1)->delete();
    
    // 方法2.通过主键直接删除
    User::destroy(1, 2);
    
    // 方法3.通过 where 条件删除
    User::where('username', 'admin')->delete();
    
  • 相关阅读:
    【Flask教程02】路由基本定义
    Ubuntu16.04下设置静态IP
    实例讲解虚拟机3种网络模式(桥接、nat、Host-only)
    greenplum单机安装
    GreenPlum 基础操作 入门教程
    repo
    RAW nand clear NAND eMMC
    #运算符、不同的指针类型、数组和指针、指针运算、堆、栈、静态区、只读区、下标VS指针
    LDPC知识点
    宏表达式与函数、#undef、条件编译、
  • 原文地址:https://www.cnblogs.com/mingc/p/6779660.html
Copyright © 2011-2022 走看看