Laravel5.6入门(六)
前言
laravel5.6学习记录,学习最新的版本
- Laravel文档Laravel
- 开发工具Phpstorm
- 开发环境Homestead
- 中文文档Laravel-China
- ComposerComposer
Laravel5.6
数据库
讲了控制器和路由,我们来讲一下数据库.
配置
要使用数据库,当然要先配置,才能连上数据库使用.
数据库的配置主要有两个地方.
.env
文件,包涵较多的配置项,当然也包括数据库的信息,config/database.php
里面包括了数据库、数据库驱动、Redis等.
1 | //.env |
1 | //config/database.php |
配置项都很简单,数据库名、账号、密码、端口设置上就ok.
配置文件的可读性很高.database
中用的env()
函数读取.env
文件的配置项.
1 | 'default' => env('DB_CONNECTION', 'mysql'), |
看你的需求,如果不会更换的就可以写死,也就是写到默认值里,
如果频繁更换,或者线下线上的配置区分,就写到.env
里,
上线只需要改一份配置就好了.
.env
在.gitignore
中,是属于git忽略文件,也能保证一些安全问题,这里不细说.
修改配置的时候,我们也可以顺便修改下通用配置.
1 | //.env |
1 | //我们主要改几个地方,其他的按照自己的需求 |
配置完成,怎么使用呢?
Migration
laravel
下使用migration
来创建数据库迁移文件…
1 | php artisan make:migration create_protables_table |
还有我们前面讲模型的时候,-m
参数顺便创建的迁移文件.
这也算一种迁移文件的创建.
1 | php make:model Protable -m |
创建的迁移文件都位于database/migrations
下.
迁移文件里面有up() down()
两个方法,up
是正向操作,’down’则是反向操作.
我们来添加一些简单的字段.
1 | //database/migrations/2018_02_23_112021_create_protables_table.php |
1 | //常用的字段修饰 |
迁移文件ok了,然后该生成了.
1 | php artisan migrate |
执行的时候就会执行迁移文件中的up()方法,来创建表.
我们查看下数据库,(图形化还没装),就先用控制台将就看着.
1 | | migrations | //迁移的记录 |
看到一句成功创建完成.
Migrate错误
有时候也不可能顺风顺水,也会报一些错误.
1 | [Illuminate\Database\QueryException] |
laravel5.4
后使用的默认编码是utf8mb4
,
编码区别和数据库版本不同,执行命令的时候,
或许会报以上的错误,解决方法也比较简单.
1 | //app\Providers\AppServiceProvider.php |
完成后,再次执行migrate命令,应该就ok了
迁移回滚
如果麒麟臂过快,不小心就执行了migrate后,不想要了,想要撤回迁移,
也有rollback
帮我们解决.
1 | php artisan migrate:rollback |
执行的时候就会执行迁移文件中的down(),来删除表.
这就方便的回滚了最近的一次migrate
操作,一次操作可能会包含多个迁移文件.
如果想限制回滚次数,7次、5次、3次,只需要加上 --step=次数
1 | php artisan migrate:rollback --step=7 |
是不是很Easy,如果你绝望了,放弃了,需要重构了,没关系,
一个命令解决你问题.
1 | php artisan migrate:reset |
更新数据表
按业务需求,假如后期需要添加逻辑,需要新的字段,
也不可能一次次回滚来修改,
我们就要来更新数据表了,创建一个新的迁移文件.
需求,添加一个
1 | php artisan make:migration add_email_to_protables_table |
创建了一个迁移文件,2018_02_23_124340_add_email_to_protables_table.php
1 | public function up() |
这里注意,创建表的时候,是Schema::create
,
修改表的时候,是Schema::table
,第一个参数就是表名,down()
里面我们也加上逆向操作需要的,Schema::dropIfExists
就是判断并删除表.
执行迁移命令,查看数据表结构.
ok啦!
Laravel
内容丰富、知识也很多,
文章写的可能很杂乱,或许也像抄读文档,见谅.
End.
- 标题: Laravel5.6入门(六)
- 作者: Lkeme
- 创建于 : 2018-02-23 18:31:43
- 更新于 : 2024-05-15 18:51:35
- 链接: https://mudew.com/2018/02/23/Laravel5-6入门-六/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。