「メニューを表示してみる②」の内容で
データベースにデータを格納する方法はわかったよ!
データベースを使うのに、よくMAMPって聞いたことあるけど便利なの?
可視化できて分かりやすいですよ!
また、データベースを使うために必要なSQL言語も不要です!
簡単に使い方をまとめてみますね
バックエンドとしてPHPのフレームワークである
laravelを使用していきます
MAMP内にlaravelファイルを作る
【ターミナル起動】
①MAMPのhtdocsに移動
②「composer create-project laravel/laravel ○○」で○○ファイルを作成
user@USERnoMacBook-Air ~ % cd /Applications/MAMP/htdocs/
user@USERnoMacBook-Air htdocs % composer create-project laravel/laravel coffeeshop --prefer-dist
laravelを立ち上げる
魔法の呪文「php artisan serve」をターミナルで入力すると、ローカルでlaravelが立ち上がる!
↓このようになればOK
Starting Laravel development server: http://127.0.0.1:8000
laravelとDBを繋げる
MAMP確認方法
MAMPを起動させて、下記の画面を確認する
env.ファイルの追記
laravelフォルダ内のenv.ファイルを探し、空欄の項目に先ほど確認した「MySQLの情報」を入力する。
(ここで、データベースとlaravelの接続設定をします)
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=coffeeshop
DB_USERNAME=root
DB_PASSWORD=root
試しにマイグレーションしてみる
先ほどのenv. ファイルの設定がうまくいっているか確認してみましょう!
①マイグレーションファイルの作成
user@USERnoMacBook-Air coffeeshop % php artisan make:migration menus
②マイグレーションファイルにカラムを追加
public function up()
{
Schema::create('menus', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('price');
$table->string('detail');
$table->timestamps();
});
}
③マイグレーションの実行
user@USERnoMacBook-Air coffeeshop % php artisan migrate
エラー:SQLSTATE[HY000] [1045] Access denied for user ‘root’@’localhost’
最初にMy SQLページにあるポート番号「3306」を入力してしまっていたので、エラーになってしまいました。
MAMPでDBを作成した時に発行されるサーバの番号「8889」をポート番号にしないといけなかったので、env.ファイルを修正しました。
エラー:SQLSTATE[HY000] [2002] Connection refused
MAMPとSQLがうまく接続できていないようです。。
調べてみると「DBsocket」を追記しないといけないとのことで、最終的にenv.ファイルを下記の通りにしたら、うまくマイグレーションできました!
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=8889
DB_DATABASE=coffeeshop
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
MAMP経由でデータを挿入してみる
左メニューから使うDBとテーブルを選択し、赤枠の「挿入」タブで切り替えると
下記のような挿入画面になります!
(ちなみに今回、データベース:coffeeshop>テーブル:menus を選択しているのですが
laravelでカラムを作ってマイグレーションしたからか、左のメニューに出てこず。。)
時間ある時に、MAMPからmenusテーブル作成してみようと思います!
次はテーブルにデータを何個か登録して、それを表示させてみようと思います!
少し遠回りになりましたが、MAMPの使い方でした!
最後まで読んでいただき、ありがとうございました😊
↓よかったらいいねお願いします🥺
コメント