0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel 7.x】Laravel(PHP)未経験者がプロジェクトを作るための備忘録(プログラミング初心者用)

Posted at

プロジェクト作成

composer create-project --prefer-dist laravel/laravel プロジェクト名 で作成
SourcetreeやGithubDesktopなどでリポジトリの連携を行っておく

php artisan serve コマンドでサーバ立ち上げ localhost:8000でつなぐ

DB設計

Databaseは手動で作る必要あり Railsのようにrake db:createで作れる下地はない

.envの1ファイルを編集(MySQLの場合の一例)
DB_CONNECTION=mysql
DB_HOST=データベースのホスト名(127.0.0.1)
DB_PORT=ポート番号(3306)
DB_DATABASE=データベース名(プロジェクト名)
DB_USERNAME=データベースのユーザ名(rootなど)
DB_PASSWORD=データベースのパスワード(MySQLのパスワード)

認証機能を使う場合

composerからlaravel/uiを入手
$ composer require laravel/ui

インストール(時間かかる)できたら
$ php artisan ui vue --auth

できたらログの通り npm install && npm run dev をする

npmコマンドはnode.jsのコマンドなので、nodejsが入っていないならnodenv等を使ってnode.jsをインストールする
PATHを通すのを忘れずに。bashファイルにexport (PATH:以降は インストール完了してターミナル上でwhich npm)
source ~/.bashrc やsource ~/.bash_profileをして
コマンド使えるようになったら もう一度npm install && npm run dev

最後に $ php artisan migrate
でユーザーテーブル作成完了

(もし 1071 Specified key was too long; max key length is 767 bytes のエラーが出たら Laravel5.4以上、Mysql5.7.7未満のものを使った場合に起きるものなので
App/Providers/AppServiceProvider.php の26行目に
  Schema::defaultStringLength(191); を追記する
一回上でエラー起きてるとすでにテーブルはできてしまっているのでMYSQLから
drop table users; で一旦削除を忘れずにする)

##テーブルの作成
テーブル作成のためのマイグレーションファイルは
php artisan make:migration (ファイル名)となる ファイル名はcreate_○○○s_tableのようにする
また、オプションとして 後ろに—create=テーブル名s をつけるとマイグレーションファイルが
テーブル名を含んだ形で生成される  (Schema::create() 以下)

###マイグレーションファイルのカラム設定の一例と自分が引っかかった箇所(外部キー)
$table->text("images")->nullable(); null許可
$table->foreign("user_id")->references('id')->on('users')
外部キー設定 これだけじゃだめ?

$table->integer('user_id')->unsigned();
(unsigned は整数カラムを符合なしの値として扱う これがないとエラー(主キーではデフォルトで適用されている))
$table->foreign("user_id")->references('id')->on('users');
#####一旦普通にカラムを作ってから、外部キーとして設定する記述を行う

さらにハマる 型があってないので上記のカラムを最初に作る箇所で
#####$table->bigInteger('user_id')->unsigned();
に修正してmigrateすると うまくテーブル作成出来ました

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?