Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

こんにちは。
今回はドットインストールの『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を入れると直近の入れた数字分のマイグレーションをリセットしてくれるような機能もあるようです。
頑張って使いこなせるようにこれからも勉強に励みます。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away