LoginSignup
4
2

More than 5 years have passed since last update.

【備忘録】ドットインストールLaravel5.5入門でハマった話

Posted at

こんにちは。
今回はドットインストールの『Laravel5.5入門』を進めていたときにぶつかった問題と対処法についての記録です。
注:以下はプレミアム会員限定のコンテンツをご紹介しています。

Laravelとは

そもそもLaravelとはなんなのでしょうか。
PHPを開発する際に使うWEBフレームワークの一種、つまりより簡単にPHPを用いた開発を行うためのテンプレということでしょうか。
PHP用のフレームワークには特に日本での人気が根強い「CakePHP」や海外で人気が伸びている「Codeigniter」などがあります。

ドットインストールのLaravel5.5入門#27でハマった話

ドットインストールを使ってLaravelの学習を進めていたとき、#26までは順調に来ていました。
しかし、ブログの記事とコメントをひもづける回の#27で詰まってしまいました。

そのときのエラーがこちら。

スクリーンショット 2018-11-28 11.13.59.png
title2(title1)をクリックすると#26でmigrationしたコメントのモデルがbodyの下に表示されるはず、、、、。

ん?

スクリーンショット 2018-11-28 11.14.20.png
※エラー全文
SQLSTATE[HY000]: General error: 1 no such column: comments.post_id (SQL: select * from "comments" where "comments"."post_id" = 2 and "comments"."post_id" is not null) (View: /home/vagrant/laravel_lessons/myblog/resources/views/posts/show.blade.php)

ドットインストールの手順に従って進めてきたのにcomments.post_idのカラムが存在しない?
ドットインストールのソースコードをコピペし再実行してもうまくいかず。

もしかしたらサーバーの設定の問題かな?とか思いつつドットインストールに質問をしてみると以下のような回答が。

スクリーンショット 2018-11-28 11.29.54.png

どうやら#26のmigrationがうまく実行できていなかった様子。
言われるままにもう一度実行するものの、ちゃんとファイルは作られており効果なし。
次にphp artisan migrate:refreshでコマンドを最初の状態に巻き戻します。

スクリーンショット 2018-11-28 11.36.01.png

すると今度はうまくいきました。
データベースの中に入っていたテーブルは空になっていたものの、データを新しく追加してあげると以下のように元の状態に。

まとめ

以上、今回はドットインストールのLaravel5.5入門でハマった際に行った対処法の備忘録を書きました。
migrate:refreshの後に--step=numberを入れると直近の入れた数字分のマイグレーションをリセットしてくれるような機能もあるようです。
頑張って使いこなせるようにこれからも勉強に励みます。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2