Laravel新規プロジェクト作成(laravel7)
まずは、ターミナルで以下のコマンドを打ってプロジェクトを作成していく。
$ composer create-project "laravel/laravel=7.*" <プロジェクト名>
次はpostgresでDBを作成(postgresインストール済みとする)
//ログイン
psql -d postgres
//DB一覧
\l
//DB作成
# create database DB名;
//CREATE DATABASE と表示されたらOK
次に.envファイルの編集
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=先ほどpostgresで作成したDB名
DB_USERNAME=postgres
DB_PASSWORD=
php artisan migrate を実行
$ php artisan migrate
postgresにusersテーブルが作られているか確認。
*Laravelをインストールした時に最初からあるはずのcreate_users_table.phpとcreate_password_resets_table.phpを元にテーブルが作られる。
//DB接続
myproject-# \c データベース名
テーブル一覧
myproject-# \d
List of relations
Schema | Name | Type | Owner
--------+--------------------+----------+----------
public | failed_jobs | table | postgres
public | failed_jobs_id_seq | sequence | postgres
public | migrations | table | postgres
public | migrations_id_seq | sequence | postgres
public | password_resets | table | postgres
public | users | table | postgres
public | users_id_seq | sequence | postgres
確認できればOK!!
認証機能
次はusersテーブルにちゃんとデータが入るか確認する。
Laravel6.0以降からmake:authコマンドが使用できなくなり、laravel/uiをインストールする必要があるため下記のコマンドを打つ
$ composer require laravel/ui:^2.4
$ php artisan ui vue --auth
これで画面右上に認証機能が追加された。
しかし認証画面へ遷移するとスタイルが崩れてしまっている。
原因はsass/app.scssが反映されてない(コンパイル)ので下記のコマンドを打つ
$ npm install
$ npm run dev
これでスタイルが修正された。
ちゃんとDBに接続されているか実際に呼び出してみる
viewsファイルに新しくindex.blade.phpを作成
<div>
<h1>{{$users->name}}</h1>
</div>
次にControllerの作成
$ php artisan make:controller HelloController
HelloController.phpに下記を追記
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
// Userの情報をとってくるため追記
use App\User;
use Auth;
class HelloController extends Controller
{
public function index(){
// 認証済みのユーザーのデータを$usersに格納
$users = Auth::user();
return view('index',compact('users'));
}
}
web.phpにroteを追加
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
//追記
Route::get('/index', 'HelloController@index')->name('index');
これで下記のURLにアクセスして登録したuser名が表示されていれば多分OK!!
http://127.0.0.1:8000/index