虚拟机部分
homestead配置访问名称
[windows]
下首先修改C:\Windows\System32\drivers\etc\host
,将虚拟机IP
与指定的名称绑定。
192.168.10.10 news.test
然后修改homestead.yaml
(在安装文件夹下),绑定域名到特定项目的public
文件夹。
sites:
- map: news.test
to: /home/vagrant/Code/20190108bg-laravel/public
Laravel
框架部分
迁移数据库和测试数据生成
迁移数据库
php artisan make:migration xxx //用Blueprint实现字段定义,要注意区分新建和修改,其它参看文档
测试数据生成
首先定义数据库模型(model
),即需要填充操作的数据库
php artisan make:model xxx // 注意此处定义的名字的复数形式会被作为表名,可以在模型内更改
构造生产函数
php artisan make:factory xxx //生产函数内部使用Faker实现字段填充
将生产函数添加到默认seed
:DatabaseSeeder
public function run() {
factory(\App\Article::class, 500)->create(); //500为生成数量
}
或是新建一个seed
php artisan make:seed xxx
public function run() {
$this->call(UsersTableSeeder::class); // 详情文档
}
启动seed
php artisan db:seed
模型内部常用的定义
在模型内部的定义会影响到后续使用该模型操作的数据库结果,定义在模型类当中。
使用软删除,启用后会创建默认字段deleted_at
,当模型类对数据调用delete
删除时,自动创建当前时间,否则该字段为null
,此外开启该字段以后框架会在所有使用该模型类的sql
操作末尾加上条件where
deleted_atis null
:
use SoftDeletes
protected $dates = ['deleted_at'];
修改软删除的字段名方式,此处注意迁移数据库需与此处一致,如果更改后上述第二条定义也需要一致。
const DELETED_AT = 'isDelete';
弃用自动创建created_at
和updated_at
字段(默认开启)
public $timestamps = false;
所使用的路由定义方法总结
Laravel
框架的路由定义位置在/routes/web.php
中,用到的方式如下:
闭包方式: