数据库课程作业笔记 - 编写数据填充

数据库课程作业笔记 - 编写数据填充

相关参考

Laravel 文档 - 数据填充

创建数据填充

这里不展示其他代码了,数据填充首先创建 Seeder 文件,该文件继承 Seeder
这里以客户表为例

php artisan make:seeder CustomerTableSeeder

编写填充代码

<?php

use App\Models\Customer;
use Illuminate\Database\Seeder;

class CustomerTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * [@return](https://learnku.com/users/31554) void
     */
    public function run()
    {
        $now = now()->format('Y-m-d H:i:s');
        $insert = [
            [Customer::NAME => 'Kathy', Customer::CITY => 'Vestal', Customer::VISITS_MADE => 2, Customer::LAST_VISIT_TIME=>  '2017-11-28 10:25:32', Customer::CREATED_AT=>$now, Customer::UPDATED_AT=>$now],
            [Customer::NAME => 'Brown', Customer::CITY => 'Binghamton', Customer::VISITS_MADE => 1, Customer::LAST_VISIT_TIME=>  '2013-12-05 09:12:30', Customer::CREATED_AT=>$now, Customer::UPDATED_AT=>$now],
            [Customer::NAME => 'Anne', Customer::CITY => 'Vestal', Customer::VISITS_MADE => 1, Customer::LAST_VISIT_TIME=>  '2016-11-29 14:30:00', Customer::CREATED_AT=>$now, Customer::UPDATED_AT=>$now],
            [Customer::NAME => 'Jack', Customer::CITY => 'Vestal', Customer::VISITS_MADE => 1, Customer::LAST_VISIT_TIME=>  '2016-12-04 16:48:02', Customer::CREATED_AT=>$now, Customer::UPDATED_AT=>$now],
            [Customer::NAME => 'Mike', Customer::CITY => 'Binghamton', Customer::VISITS_MADE => 1, Customer::LAST_VISIT_TIME=>  '2016-11-30 11:52:16', Customer::CREATED_AT=>$now, Customer::UPDATED_AT=>$now],
        ];

        Customer::query()->insert($insert);
    }
}

其他的文件填充也是如此,这里使用了模型文件很方便地完成了编写

添加编写的 Seeder 文件到 DatabaseSeeder

添加之后就可以使用命令一次性填充数据了,当然还可以在新配置项目时直接迁移数据表和填充数据,具体请参考文档内容

这里已经将主键改为bigint自增类型,作业中的c10字符串作为主键不利于管理

<?php

use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     *
     * [@return](https://learnku.com/users/31554) void
     */
    public function run()
    {
        // $this->call(UsersTableSeeder::class);
        $this->call(CustomerTableSeeder::class);
        $this->call(EmployeeTableSeeder::class);
        $this->call(SupplierTableSeeder::class);
        $this->call(ProductTableSeeder::class);
        $this->call(PurchaseTableSeeder::class);
    }
}

执行数据填充

php artisan seed

接下来我们要编写路由

本作品采用《CC 协议》,转载必须注明作者和本文链接
MARTINPOTTER
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!