Laravel的Migration 和 Seeder 使用

 1、安装Laravel 

composer create-project laravel/laravel learnlaravel5 ^5.5

 

    2、Auth

php artisan make:auth

 3、连接数据库

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel5
DB_USERNAME=root
DB_PASSWORD=password

   3.1 数据库迁移

php artisan migrate这时,就可以进行登录了。

  4、Migration  创建一个文章表

php artisan make:migration create_articles_table

成功之后打开 learnlaravel5/database/migrations,你会发现有一个名为 2*****_create_articles_table 的文件被创建了。我们修改他的 up 函数为:

public function up()
{
    Schema::create(‘articles‘, function (Blueprint $table)
    {
        $table->increments(‘id‘);
        $table->string(‘title‘);
        $table->text(‘body‘)->nullable();
        $table->integer(‘user_id‘);
        $table->timestamps();
    });
}

我们首先用Auth创建个ass

 5、Seeder 给文章表填充数据

A. php artisan make:seeder ArticleSeeder

我们会发现 learnlaravel5/database/seeds 里多了一个文件 ArticleSeeder.php,修改此文件中的 run 函数为:

public function run()
{
    DB::table(‘articles‘)->delete();

    for ($i=0; $i < 10; $i++) {
        \App\Article::create([
            ‘title‘   => ‘Title ‘.$i,
            ‘body‘    => ‘Body ‘.$i,
            ‘user_id‘ => 1,
        ]);
    }
}

B. 注册ArticleSeeder 到系统内。修改 learnlaravel5/database/seeds/DatabaseSeeder.php 中的 run 函数为:

public function run()
{
    $this->call(ArticleSeeder::class);
}

C. 由于 database 目录没有像 app 目录那样被 composer 注册为 psr-4 自动加载,采用的是 psr-0 classmap 方式,所以我们还需要运行以下命令把 ArticleSeeder.php 加入自动加载系统,避免找不到类的错误:

composer dump-autoload    作用:当你加入一个新类时,可以用它更新 autoloader

 D. 执行 seed:

php artisan db:seed

你应该得到如下结果:

? php artisan db:seed
Seeding: ArticleSeeder

这时候刷新一下数据库中的 articles 表,会发现已经被插入了 10 行假数据:

 


原文地址:https://www.cnblogs.com/greycdoer0/p/9961033.html

时间: 2024-08-06 06:39:11

Laravel的Migration 和 Seeder 使用的相关文章

laravel使用migration创建数据表

laravel使用migration创建数据表,这里已创建posts表为例 1.使用php artisan make:artisan 创建一个Migration php artisan make:migration create_table_posts 此时会在laravel的database/migrations/目录下生成一个带日期的migarion文件,2017_07_24_135201_create_posts_table.php , 2.模仿框架自带的user的migrations在u

Laravel Packages

Laravel的包存放在vendor目录下面. 例如way,可以是一个供应商代号,其目录下面有一个generators目录. 在src目录下面有Way/Generators目录,里面存放真正的代码文件.提供一个GeneratorServiceProvider.php文件,实现了多个派生自 Illuminate\Console\Command类的命令.其中包括: generate:view generate:model generate:controller generate:migration

30分钟用 Laravel 实现一个博客

介绍 Laravel 是一款 MVC架构. 目前最流行的 PHP框架. Laravel的优点在于: 丰富的composer类库支持, 优雅的代码, 未来的主流框架(目前市场占有率最高的框架) Laravel的缺点在于: 过于优雅(我们只需要编写极少的代码即可实现功能,意味着底层极其复杂的封装)导致程序的执行效率略低, 和thinkphp等国内主流框架相比,上手难度略高(因为它为我们集成了很多其他的功能,甚至你还需要学习nodeJS相关的知识). 本项目,是完全使用 Laravel框架 内的所提供

Laravel 5系列教程二:路由,视图,控制器工作流程

免费视频教程地址https://laravist.com/series/laravel-5-basic 上一篇教程我们走了那么长的路,终于把Laravel安装好了,这一篇教程我们就要进入Laravel的神奇世界了,主要是讲解Laravel的Router,Views,Controllers的工作流程,目的也就是让大家明白Laravel在处理一个get请求的时候是如何工作的. 在开始之前,我们首先得将我们的服务器启动起来,如果你使用Laravel的artisan,你可以直接: php artisan

Laravel教程 二:路由,视图,控制器工作流程

Laravel教程 二:路由,视图,控制器工作流程 此文章为原创文章,未经同意,禁止转载. View Controller 上一篇教程我们走了那么长的路,终于把Laravel安装好了,这一篇教程我们就要进入Laravel的神奇世界了,主要是讲解Laravel的Router,Views,Controllers的工作流程,目的也就是让大家明白Laravel在处理一个get请求的时候是如何工作的. 在开始之前,我们首先得将我们的服务器启动起来,如果你使用Laravel的artisan,你可以直接: p

如何使用laravel搭建后台登录系统

今天想用laravel搭建一个后台系统,就需要最简单的那种,有用户登录系统,试用了下,觉得laravel的用户登录这块做的还真happy.当然,前提就是,你要的用户管理系统是最简单的那种,就是没有用户权限,能登录就好. 我这里就不用默认的user表做例子了,那样很容易和laravel的一些默认设置混淆. 首先确认,后台的用户表,我设计表叫做badmin,每个管理员有用户名(username),有昵称(nickname),有邮箱(email),有密码(password) 这里玩个花,使用larav

laravel项目3myPersimmon学习(使用了什么插件,视图,编辑器,migrate,seeder)1urlencode,sha1_file

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "He

Laravel 5.* 执行seeder命令出现错误的解决方法

最近在使用Laravel开发一个项目,测试中需要增加数据库基础数据动作,当第一次执行完`php artisan db:seed` 后,增加新的seeder文件时执行会报错.错误信息如下`[ReflectionException] Class ***TableSeeder does not exist` 首先我已经确保新的seeder文件和全局database seeder是在同一个seeder目录下了,仍然会出现这个问题的原因是 我们需要清理下之前执行生成的classmap信息. 在控制台中执行

Laravel常用命令行中文版

1.生成控制器 php artisan make:controller ArticleController 1 1 对应的会在app/http/controllers下面生成ArticleController.PHP这个控制器. 2.使用RESTFUL生成控制器,这个很有用哦! php artisan make:controller ArticleController --resource Route::resource('article', 'ArticleController'); 1 2