0

0

Laravel 5.2中关于.env文件与模型操作的实例分享

黄舟

黄舟

发布时间:2017-09-11 10:18:08

|

1755人浏览过

|

来源于php中文网

原创

一、 .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 。

 

二、模型操作

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() 函数类似print_r(), 用于打印变量信息,是 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();

   

秘塔写作猫
秘塔写作猫

秘塔写作猫是一个集AI写作、校对、润色、配图等为一体的创作平台

下载

3. Eloquent ORM

1.创建模型


php artisan make:model User

2. 表名、主键、时间戳

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

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

时间戳:默认会管理 created_at 和 updated_a 字段,可以在模型类中定义 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();

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java连接字符串方法汇总
java连接字符串方法汇总

本专题整合了java连接字符串教程合集,阅读专题下面的文章了解更多详细操作。

6

2026.02.05

java中fail含义
java中fail含义

本专题整合了java中fail的含义、作用相关内容,阅读专题下面的文章了解更多详细内容。

8

2026.02.05

控制反转和依赖注入区别
控制反转和依赖注入区别

本专题整合了控制反转和依赖注入区别、解释、实现方法相关内容。阅读专题下面的文章了解更多详细教程。

10

2026.02.05

钉钉脑图插图教程合集
钉钉脑图插图教程合集

本专题整合了钉钉脑图怎么插入图片、钉钉脑图怎么用相关教程,阅读专题下面的文章了解更多详细内容。

20

2026.02.05

python截取字符串方法汇总
python截取字符串方法汇总

本专题整合了python截取字符串方法相关合集,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Java截取字符串方法合集
Java截取字符串方法合集

本专题整合了Java截取字符串方法汇总,阅读专题下面的文章了解更多详细操作教程。

1

2026.02.05

java 抽象方法
java 抽象方法

本专题整合了java抽象方法定义、作用教程等内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.05

Eclipse创建jsp文件教程合集
Eclipse创建jsp文件教程合集

本专题整合了Eclipse创建jsp文件、创建jsp项目等等内容,阅读专题下面的文章了解更多详细教程。

21

2026.02.05

java 字符串转数字
java 字符串转数字

本专题整合了java如何字符串转数字相关内容,阅读专题下面的文章了解更多详细教程。

4

2026.02.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Laravel---API接口
Laravel---API接口

共7课时 | 0.6万人学习

PHP自制框架
PHP自制框架

共8课时 | 0.6万人学习

PHP面向对象基础课程(更新中)
PHP面向对象基础课程(更新中)

共12课时 | 0.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号