Webアプリを自作するためにPHPのフレームワークのLaravelを導入することに決めました。
PHP初心者かつLaravel初心者ですが、自分なりにスキルを得るためにLaravelを用いた記事投稿アプリを自作しました。その過程を備忘録としてまとめます。
最終的にはブラウザを利用して記事投稿画面の表示、ユーザごとの記事投稿数のグラフ化を目指したいと思います。
本記事は連載【投稿アプリ自作】の第五回目で、モデルファイルとデータベースを紐づけるための設定内容をまとめます。
※:Laravelは5.3からファイル構成が大幅に変わりました。本記事ではLaravel5.3以降を使って説明したいと思います。
※2:データベースはXAMPPに入っていたMySQLを使うことにします。事前にデータベースアカウントを登録しておいてください。
目次
目次
ゴール
本記事では、前回で新規作成したモデルファイルに修正を加えて、テーブルにアクセスできるようにします。
・ArticleUser.php
・Category.php
・Tag.php
・Article.php
・DetailedArticle.php
必要なもの
必要なもの | 価格(円) | ||
---|---|---|---|
1 | PC | ピンキリ | |
備考 | インターネット接続可能なこと | ||
2 | XAMPP | 無料 | |
備考 | 持っていない場合は、こちらを参照→XAMPPのインストール方法 | ||
3 | Composer | 無料 | |
備考 | 持っていない場合は、こちらを参照→Composerのインストール方法 | ||
4 | Laravelフレームワーク | 無料 | |
備考 | インストールしていない場合は、こちらを参照→Laravelのインストール方法 | ||
5 | MySQLのデータベースアカウント | 無料 | |
備考 | 持っていない場合は、こちらを参照→phpMyAdminでデータベースとユーザを新規登録する | ||
6 | 投稿アプリのモデルファイル | 無料 | |
備考 | 前回の記事で作成したモデルファイルです。持っていない場合は、こちらを参照→【投稿アプリ自作(4)】テーブル設計とマイグレーション実行(Laravel) |
Laravelソースファイルの変更
変更や新規作成するLaravelファイル一覧
Laravelのプロジェクトファイル配下にあるファイルで本記事の中で変更、新規作成するファイルについてまとめました。
ファイル名 | 対応 | 備考 | |
---|---|---|---|
1 | app/Article_User.php | 変更 | |
2 | app/Category.php | 変更 | |
3 | app/Tag.php | 変更 | |
4 | app/Article.php | 変更 | |
5 | app/Detailed_Article.php | 変更 |
ArticleUsersテーブルのモデルファイルの変更
前回マイグレーションファイルで作成したArticleUsersテーブルとモデルファイルを紐づけます。
前回作成したxxxx_xx_xx_xxxxxx_create_article_users_table.phpを見直してみると
となっています。ここの赤字部分がこのArticleUsersテーブルのテーブル名を示す変数名になります。
このテーブル名をArticleUsersテーブルのモデルファイルを紐づけるために以下の様にArticleUser.phpファイルを変更します。
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class ArticleUser extends Model { protected $table = 'article_users'; } |
protected $table = ‘article_users’;でモデルファイルとテーブルを紐づけることができます。
Categorysテーブルのモデルファイルの変更
ArticleUsersテーブルと同様にCategorysテーブルの変数名とモデルファイルを紐づけていきます。
Category.phpファイルを以下の様に変更します。
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Category extends Model { protected $table = 'categories'; } |
Tagsテーブルのモデルファイルの変更
ArticleUsersテーブルと同様にTagsテーブルの変数名とモデルファイルを紐づけていきます。
Tag.phpファイルを以下の様に変更します。
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Tag extends Model { protected $table = 'tags'; } |
Articlesテーブルのモデルファイルの変更
ArticleUsersテーブルと同様にArticlesテーブルの変数名とモデルファイルを紐づけていきます。
Article.phpファイルを以下の様に変更します。
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Article extends Model { protected $table = 'articles'; } |
DetailedArticlesテーブルのモデルファイルの変更
ArticleUsersテーブルと同様にDetailedArticlesテーブルの変数名とモデルファイルを紐づけていきます。
DetailedArticle.phpファイルを以下の様に変更します。
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class DetailedArticle extends Model { protected $table = 'detailed_articles'; } |
これですべてのモデルファイルとテーブルを紐づけられました。
まとめ
今回はモデルファイルとテーブルの紐づけを行いました。
これでコントローラーでデータベースを宣言することでデータベースの値を取得することができるようになります。
しかし、現状はデータベースの中身が一つもありません。データベースの確認をするためにはこのままでは使えません。
そのため、次回ではseederというダミーデータを作成する機能を使ってダミーデータを作成し、その後データベースの操作の確認をして行くことにします。
次回記事
次回記事はseederを使ってダミーデータを作成方法についてまとめたいと思います。
前回記事
まとめページ
以上!