こんにちは!
今回はデータベースにデータを保存できるようにすることを最終地点として説明します
大まかな流れは以下の通りです
- 環境変数を設定する
- データベースを作成する
- データベースに接続する
- データベースにデータを保存する
では、始めます!!
#環境変数の編集
環境変数を編集していきます
環境変数は使用するOS上でのルールを決めている変数というイメージです。
ここで編集するファイルは二つです
##.envファイルの編集
.envファイルを編集します
下記のように編集していきましょう
データベースの名前はご自身のアプリケーション名に対応させてください
DB_USERNAME
はroot
、DB_PASSWORD
はsecret
で設定しましょう
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
DB_DATABASE=laravel-project
DB_USERNAME=root
DB_PASSWORD=secret
##database.phpの編集
.env
に合わしてdatabase.php
も編集しましょう
'mysql' => [
// :
// :
'database' => env('DB_DATABASE', 'laravel-project'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'secret'),
// :
// :
],
#データベース作成
MySQLにログインして、データベースを作成しましょう!
MySQLにrootユーザーでログインします。
$ mysql -u root
MySQLにログイン完了後、laravel-project
というデータベースを作成します
mysql> CREATE DATABASE `laravel-project`;
下記のコマンドでデータベースが作成されているか確認しましょう
mysql> show databases;
#データベース接続
上で作成したデータベースに接続しましょう
$ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.9-1+ubuntu18.04.1+deb.sury.org+1 — cli) by Justin Hileman
>>> DB::connection();
=> Illuminate\Database\MySqlConnection {#2891}
#テーブル作成
マイグレーションして、テーブルを作成します。
マイグレーションする前に少し準備をします。
##文字列の最大文字数を191文字にする
マイグレーション時にエラーになるので設定しましょう
public function boot()
{
\Schema::defaultStringLength(191);
}
では、下記のコマンドでマイグレーションを行い、テーブルを作成しましょう
$ php artisan migrate
テーブルの作成が完了しました。
#データ作成
一度に複数のデータを作成しましょう!!
まず、下記のコマンドを実行するとUsersTableSeeder.phpが生成されます。
$ php artisan make:seeder UsersTableSeeder
生成されたUsersTableSeeder.phpのRun関数内に下記のように追記しましょう
public function run(){
DB::table('users')->insert([
'name' => 'test1',
'email' => 'test1@test.com',
'password' => bcrypt('test1')
]);
}
次に、DatabaseSeeder.phpのRun関数内をコメントアウトしてください
public function run()
{
$this->call(UsersTableSeeder::class);
}
上記で編集したファイルを元にデータを作成しましょう
$ php artisan db:seed --class=UsersTableSeeder
コンソールから作成されたデータを確認しましょう
$ php artisan tinker
>>> use App\User
>>> User::all()
上記のコマンドでテーブル内のデータが表示されます
表示されれば完了です!!
疑問、気になるところがございましたら、質問、コメントよろしくお願いします!!!