HTTPメソッドのまとめ
データベースの操作をするうえで、HTTPメソッドを理解することは重要です。以下にここまでで学んだメソッドをまとめます。
メソッド名 | 説明 |
Get | サーバーからデータを取得するために使用します。 クライアントからサーバー側の状態やデータを変更しません。 |
Post | サーバーにデータを送信してデータを作成するために使用します。 |
Put | サーバーにデータを送信してデータを更新するために使用します。 データのすべてを変更する際に使用します。 |
Patch | サーバーにデータを送信してデータを更新するために使用します。 データの一部を変更する際に使用します。 |
Delete | サーバーのデータを削除するために使用します。 |
Laravelによるデータベースの操作
次に、Laravelによるデータ操作の方法について以下にまとめます。
操作名 | 方法1 | 方法2 |
取得 | モデルのallメソッドを使用 | – |
新規作成 | モデルのcreateメソッドを使用 | モデルのプロパティに値を新規登録し、モデルのsaveメソッドを使用 |
更新 | モデルのupdateメソッドを使用 | モデルのプロパティに値を更新し、モデルのsaveメソッドを使用 |
削除 | モデルのdestroyメソッドを使用 | モデルのdeleteメソッドを使用 |
以上のように、新規登録、更新、削除には二つの方法があります。一つ目はモデルの静的メソッドを使用する方法です。この方法は複数のデータの処理を同時に行うことができます。二つ目はモデルのインスタンスメソッドを使用する方法です。この方法は複数のデータの処理はできませんが、実行時にイベントが発生します。
ほかにも細かな違いがありますが、この二つのうちどちらかを使用することになると思います。
新しくデータベースを操作しよう
今までは、itemsテーブルを使用し、データベースの操作の基礎を学びました。ここでは、まとめとして新たに、booksテーブルを作成し、ルーティングやコントローラ、モデル、ビューの定義を行いましょう。
モデルとマイグレーションファイルの作成
まず、モデルとマイグレーションファイルを作成します。以下のコマンドで、モデルとマイグレーションファイルを同時に作成できます。
php artisan make:model Book -m
次にbooksテーブルを以下のように定義します。
カラム名 | 内容 |
title | 本のタイトル |
author | 本の著者 |
price | 本の値段 |
以上から、以下のようにマイグレーションファイルを定義します。
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('books', function (Blueprint $table) {
$table->id();
$table->string("title");
$table->string("author");
$table->integer("price");
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('books');
}
};
以下のコマンドでマイグレーションを実行します。
php artisan migrate
次に、MySQLにログインし、booksテーブルの概要を確認します。コマンドは以下の通りです。
describe books;
以下のように表示されれば成功です。
+------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-----------------+------+-----+---------+----------------+
| id | bigint unsigned | NO | PRI | NULL | auto_increment |
| title | varchar(255) | NO | | NULL | |
| author | varchar(255) | NO | | NULL | |
| price | int | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+------------+-----------------+------+-----+---------+----------------+
6 rows in set (0.00 sec)
以上で、データベースへのひな型の作成は終了です。次回以降では、モデル、コントローラー、ビュー、ルーティングを解説していきます。