はじめに
こんにちは、Webエンジニアの岩田史門(@SI_Monxy)です!
今回はLaravelのモデルとマイグレーションを利用したデータベース操作について記事を書いてみました!
改善点や修正点があれば、コメントにて優しくご指導いただけると嬉しいです!
概要
Laravelにおけるモデル(Model)とマイグレーション(Migration)は、データベース操作を効率的に行うための重要な要素です。本記事では、これらの基本的な使い方と操作方法について解説します。
モデルとは何か?
モデルはLaravelにおいてデータベースとのやり取りを担当するクラスです。各モデルは単一のデータベーステーブルに関連付けられ、そのテーブルのデータを操作するためのメソッドを提供します。
モデルの作成
まず初めに、以下のArtisanコマンドを使用して新しいモデルを作成します。
php artisan make:model Product
これにより、app/Models/Product.php というファイルが生成されます。この中に Product モデルのクラスが定義されます。
モデルの基本的な操作
例えば、Product モデルが products テーブルに関連付けられている場合、以下のようにしてデータを操作できます。
use App\Models\Product;
// レコードの取得
$products = Product::all();
// 特定の条件でのレコードの取得
$product = Product::where('id', 1)->first();
// 新しいレコードの作成
$newProduct = new Product;
$newProduct->name = 'New Product';
$newProduct->price = 1000;
$newProduct->save();
// レコードの更新
$product->price = 1200;
$product->save();
// レコードの削除
$product->delete();
マイグレーションとは何か?
マイグレーションは、データベースのスキーマを定義し、データベースのバージョン管理を行うための仕組みです。マイグレーションを使うことで、テーブルの作成や変更を簡単に行うことができます。
マイグレーションの作成
新しいマイグレーションファイルを作成するには、以下のArtisanコマンドを使用します。
php artisan make:migration create_products_table
これにより、database/migrations フォルダに新しいマイグレーションファイルが作成されます。
マイグレーションファイルの記述例
例えば、products テーブルを作成するマイグレーションファイルは次のようになります。
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateProductsTable extends Migration
{
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->integer('price');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('products');
}
}
マイグレーションの実行
マイグレーションを実行するには、以下のArtisanコマンドを使用します。
php artisan migrate
これにより、定義したテーブルがデータベースに作成されます。
まとめ
この記事では、Laravelにおけるモデルとマイグレーションの基本的な使い方と操作方法について解説しました。初心者でもわかりやすく、実際のサンプルコードを交えて説明しました。