Laravelでお問合せフォームの実装①テーブルに情報を登録
1798 回閲覧されました
みなさんこんにちは、jonioです。
Laravelでお問合せフォームを実装する方法を知ったのでアウトプットの記事を書きました。
2回に分けて解説しますが今回はお問合せフォームの内容をデータベースのテーブルに登録する所までを解説します。
目次
モデルとマイグレーションファイルの作成
まずはお問合せの内容を保存する為のテーブルをデータベースに作成しないといけませんがモデル名は「Contact」とします。
モデルとマイグレーションファイルを↓のコマンドで作成します。
contactsテーブルにカラムを追加します。
カラムの追加
今回お問合せフォームに書く内容は以下とします。
- 件名(titleカラム)
- 本文(bodyカラム)
- メールアドレス(emailカラム)
よってマイグレーションファイルに以下の記述をします。
そして「php artisan migrate」をするとデータベースのテーブルにカラムが作成されているのを確認できます。
次はデータベースのテーブルに登録できるカラムの設定をモデルにします。
テーブルに登録できるカラムの設定
テーブルに登録できるカラムの設定をする為にContactモデルに↓の記述をします。
それではルーティングを設定します。
ルーティング(お問い合わせフォーム)
お問い合わせフォームがあるページの表示とお問合せ内容を保存する為の記述を同時にします。
web.phpを↓にします。
次はコントローラーです。
コントローラー(お問い合わせフォーム)
お問合せフォーム用のコントローラーを↓のコマンドで作成します。
そしてContactコントローラーに↓の記述をします。
contactsテーブルにお問合せフォームの内容を保存できる様にする為に1行目があります。
13行目のcreateアクションがお問い合わせフォームのページを表示していて18行目のstoreアクションがお問い合わせフォームから送信した内容を保存しています。
また18行目の「Request $request」ですが気になる方は↓を読んで下さい。
お問い合わせフォームの件名(↓の赤枠)は21行目で文字数を設定してメールアドレス(↓の青枠)の文字数は22行目で設定しています。
最後はビューの記述をします。
ビュー(お問い合わせフォーム)
「Laravelのプロジェクト > resources > views」の下に「create.blade.php」を作成して↓の記述をします。
1行目〜9行目はお問い合わせフォームのバリデーションエラーに引っかかった場合にエラーの内容を表示する為の記述です。
10行目〜12行目はコントローラーの27行目の「’message’,’メールを送信したのでご確認ください’」を表示する為の記述です。
これでお問合せフォームの内容を送信すると↓の様にデータベースのテーブルに保存されます。
今回はここまでです。
次回は実際にメールを送信できる様にします。