laravel8 填充数据
首先 ,我们需要下载最新版本的laravel框架:
composer create-project --prefer-dist laravel/laravel www.zfw.com
在下载完成后可是切换目录到下载完成后的 www.zfw.com 目录下:
cd www.zfw.com
接着,我们可以在框架中安装一个PHPstorm的开发插件,可以使我们的开发更加方便快捷:
composer require barryvdh/laravel-ide-helper
下载完成插件后,使用该命令让我们使用的编辑器更好的支持插件:
php artisan ide-helper:gen
![]()
出现上图则为安装成功。
接下来,我们可能在开发时使用的环境为小皮系统,此时需要我们开启;
然后我们需要为新生成的框架配置一个新的本地域名,注意!刚下载的框架如果被小皮系统设置域名后,此时的隐藏入口文件内容会消失,需要重新写入入口文件!
Options -MultiViews -Indexes RewriteEngine On# Handle Authorization HeaderRewriteCond %{HTTP:Authorization} .RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]# Redirect Trailing Slashes If Not A Folder...RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_URI} (.+)/$RewriteRule ^ %1 [L,R=301]# Send Requests To Front Controller...RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^ index.php [L]
或
Options +FollowSymlinks -MultiviewsRewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
设置好本地域名之后,我们可以在网站中输入刚设置的本地域名,查看是否可以进入:
![]()
框架搭建基本完成,现在开始做填充的配置
此时,我们需要在框架的配置文件中修改框架需要连接的数据库信息,下面的配置信息需要写入在框架根目录的env文件中:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=wwwzfwcom
DB_USERNAME=root
DB_PASSWORD=root
DB_PREFIX=zfw_
其中database为数据库中的数据库名,username为数据库的账号,password为数据库的密码,prefix为表前缀
接下来,我们使用的数据库工具为Navicat,需要新建数据库:

紧接着,我们需要在框架根目录下的config文件夹中找到一个名为database.php的文件中找到此方法并修改:
'prefix' => env('DB_PREFIX'),
然后我们可以修改框架的本地配置,由于我们使用的laravel框架为国外的开发者搭建,所以我们需要改变框架的本地化配置:
1:更改根目录下app.php中timezone的时区为:
'timezone' => 'PRC',
2:下载中文语言包,放入框架的 根目录->resources->lang 中
首先使用composer下载:
composer require "overtrue/laravel-lang:~3.0"
其次替换config/app.config中的类
将:
Illuminate\Translation\TranslationServiceProvider::class,
替换为:
Overtrue\LaravelLang\TranslationServiceProvider::class,
最后修改config/app.config中的locale:
'locale' => 'zh-CN',
3:将Faker填充类配置修改为:
'faker_locale' => 'zh_CN',
这样基本配置完成,下面开始设置迁移数据表,创建生成模型和迁移文件:
php artisan make:model User -m
接着,在框架中的database/migrations文件夹中找到刚创建的用户表user

在名为up的方法内写入创建数据库的信息:
$table->bigIncrements('id');// 角色$table->unsignedInteger('role_id')->default(0)->comment('角色ID');$table->string('username',100)->comment('账号');$table->string('truename',50)->default('未知')->comment('真是姓名');$table->string('password',255)->comment('密码');//nullable 可以为null$table->string('email',50)->nullable()->comment('邮箱');$table->string('phone',15)->default('')->comment('手机号码');$table->enum('sex',['先生','女士'])->default('先生')->comment('性别');$table->char('last_ip',15)->default('')->comment('登录IP');$table->timestamps();//软删除 生成一字段 deleted_at字段$table->softDeletes();
然后此时执行迁移文件:
php artisan migrate
此时,可能会发生这样的报错信息

我们需要在app->Providers->AppServiceProvider中的boot中使用
use Illuminate\Support\Facades\Schema;public function boot(){Schema::defaultStringLength(191);}
这样就可以继续执行迁移命令了

最后,我们开始使用Faker填充数据
创建用户的填充文件
php artisan make:seeder UserSeeder
此时,我们需要在user模型层中使用
protected $guarded = [];
不然,会无法填充数据
接着,我们生成一个数据工厂
php artisan make:factory UserFactory -m /User
在UserFactory.php文件中修改填充文件的数据
'username' => $this->faker->userName,'password' => bcrypt('admin'),'truename' => $this->faker->name,//password_hash('admin666')'email' => $this->faker->unique()->safeEmail,'phone' => $this->faker->unique()->phoneNumber,
在userseeder.php文件中:
//重置表数据User::truncate();User::factory()//生成100条数据->count(100)//->hasPosts(1)->create();//修改id=1用户User::where('id',1)->update(['username'=>'admin']);
最后在DatabaseSeeder.php中修改总调用
$this->call([UserSeeder::class]);
执行填充命令
php artisan migrate:fresh --seed
到此,填充完成
laravel8 填充数据_SunNang的博客-CSDN博客_laravel8 数据填充
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
