プログラミング学習中

【41歳学習中_SAMURAI TERAKOYA】LaravelでTwitter風アプリを作ろう #2日目

今回はメール認証機能の実装とシーディング、ファクトリを使用してダミーデータの作成を行う。

4章 メール認証機能を有効にしよう

メール認証機能を有効にする為、.envファイルを編集する。

設定方法については参考サイトを参考にすればできるはず。

参考サイト:Gmailでのメール送信設定方法 : 基本認証(SMTP)

参考サイト2:【Laravel8】breezeでメール認証を爆速導入する

ム、エラーが…

メールアドレスを「"」ダブルクォーテーションで囲む必要がある。

あと、Gmailで発行されるアプリパスワードは16桁。
そのままコピーするとスペースが入るので、スペースは削除すること。

無事、認証メールが送られました!
.envファイルの編集内容はヒ・ミ・ツ

■.envファイル
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME="メールアドレス"
MAIL_PASSWORD=16桁のGmailで発行されたアプリパスワード
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="メールアドレス"
MAIL_FROM_NAME="${APP_NAME}"

あと、ModelsのUser.phpを2行編集した。

「MustVerifyEmail」によってメール認証が有効になる。

5章 投稿用のテーブルとモデルを作ろう

ざっくりとした流れ

  • 投稿用テーブル「posts」作成の為、コマンドでマイグレーションファイルを作成
  • migrateでcascadeを設定 ※userが削除されると紐づくpostが削除される為
  • コマンドでpostモデルを作成
  • 1対多の関係を作成の為、User、Postの各モデルに設定を追加
    • Userには複数のPostが紐づくので「hasMany(Post::class)」を設定
    • Postには1つのUserが紐づくので「belogsTo(User::class)」を設定

参照サイト:Laravelの外部キー制約でCASCADEを設定するときに使える新しいメソッド

■モデル User.php

■モデル Post.php

課題 投稿用のテーブルにダミーデータを追加しよう

以前勉強した「19章 シーディングとファクトリについて学ぼう」を活かして課題に臨む。

参考【41歳学習中_SAMURAI TERAKOYA】Laravelの基礎を学ぼう#20-21日目

前回のリレーションシップは難しかった… 今回はテストデータの作成方法を学びました! 19章 シーディングとファクトリについて学ぼう シーディング Laravelの機能でデータベースのテーブルにテストデ ...

続きを見る

シーディング

シーディングの作成

コマンドよりシーディングリを作成する。

database/seedersにファイルが作成される。

ファクトリ

Fakerのランダム値を日本語化する

configフォルダのapp.phpより日本語化設定を行う。

ファクトリの作成

コマンドよりファクトリを作成する。

database/factoriesにファイルが作成される。

user_idは外部キーとなっていて、存在しない値を設定するとエラーとなってしまった。

エラーを回避するため、固定値(今回は6)を設定している。

シーディングの実行

日本語化が上手くいってないゾ!

app.phpファイルを保存し忘れていました…

感想

メール認証やシーディング、ファクトリを使用したダミーデータの作成は以前学習した内容だったが、苦労した。

手続き的なところがあるので、慣れてしまえば問題ないと感じた。

早く入力のコーディングに進みたい…

  • この記事は東京在住の若干雨キャンパーが書きました

ame-sun

1982年生まれ東京都板橋区在住。

キャンプの日は雨が多い気がする。
あ、長男が2014年の大雪の日に生まれてからかも…
お宮参り、お食い初め、GWの旅行、ディズニーランドも…
キャンプ場に到着すると雨が降ってくる…

でも、運命だ。私は若干雨キャンパーでいく!

2021年からブログを始め、細く長く楽しみながら書いていきます。
どうぞ宜しくお願い致します( ̄へ ̄;)ゞ

■こんなブログです
キャンプ場+@(景色、温泉、川遊びなど)の紹介
キャンプ場リスト
高速IC(インターチェンジ)の周辺情報
 (同じIC周辺を都度調べてたので記事にしてみました♪)
キャンプ道具の紹介
子供と行ける遊び場の紹介 など

■キャンプ回数
 2022年 11回

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

-プログラミング学習中