検索
ホームページPHPフレームワークLaravelLaravelを使ってオンライン予約システムを開発する方法

Laravelを使ってオンライン予約システムを開発する方法

Laravel を使用してオンライン予約システムを開発する方法

インターネットの普及と発展に伴い、オンライン予約システムはますます普及しています。ホテル、航空券、レストランのいずれであっても、消費者はインターネット経由で簡単に予約できることを望んでいます。この記事では、Laravelフレームワークを使った簡単なオンライン予約システムの開発方法を紹介します。

  1. 環境セットアップ

まず、PHP、Composer、Laravel がインストールされていることを確認します。コマンドラインで次のコマンドを入力して、新しい Laravel プロジェクトを作成します。

composer create-project --prefer-dist laravel/laravel booking-system

これにより、Laravel フレームワークとその依存関係が自動的にインストールされます。

  1. データベース設計

この例では、ユーザーと予約という 2 つの主要なエンティティを持つ単純な予約システムを作成します。これらのエンティティの情報を保存するには、2 つのデータベース テーブルを作成する必要があります。

まず、プロジェクト内の .env ファイルを開き、データベース接続を構成します。次に、次のコマンドを実行してデータベース移行ファイルを生成します。

php artisan make:migration create_users_table --create=users
php artisan make:migration create_bookings_table --create=bookings

これら 2 つのコマンドを個別に実行すると、2 つの移行ファイルが作成され、これらのファイルを開いてテーブルの構造を定義します。

次のコードを create_users_table 移行ファイルに追加します:

public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->timestamps();
    });
}

次のコードを create_bookings_table 移行ファイルに追加します:

public function up()
{
    Schema::create('bookings', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id')->unsigned();
        $table->dateTime('start_date');
        $table->dateTime('end_date');
        $table->timestamps();

        $table->foreign('user_id')->references('id')->on('users');
    });
}

次のコマンドを実行して移行を実行し、データベース テーブルを作成します。

php artisan migrate
  1. モデルと関係

このステップでは、モデルを作成し、彼らの間の関係。

最初に、User モデルと Booking モデルを作成します。

php artisan make:model User
php artisan make:model Booking

次のコードを User モデルに追加します。

public function bookings()
{
    return $this->hasMany('AppBooking');
}

In Booking 次のコードをモデルに追加します:

public function user()
{
    return $this->belongsTo('AppUser');
}
  1. ルートとコントローラー

次に、予約の操作を処理するルートと対応するコントローラー メソッドを定義する必要があります。システム。

routes/web.php ファイルを開き、次のコードを追加します:

Route::get('/bookings', 'BookingController@index');
Route::post('/bookings', 'BookingController@store');

次に、BookingController コントローラーを作成します:

php artisan make:controller BookingController

次のコードを BookingController コントローラーに追加します。

use AppBooking;
use IlluminateHttpRequest;

class BookingController extends Controller
{
    public function index()
    {
        $bookings = Booking::with('user')->get();
        return view('bookings.index', compact('bookings'));
    }

    public function store(Request $request)
    {
        // 验证预订请求的输入参数

        $booking = new Booking;
        $booking->start_date = $request->start_date;
        $booking->end_date = $request->end_date;
        $booking->user_id = $request->user_id;
        $booking->save();

        return redirect()->back()->with('success', '预订成功');
    }
}
  1. View

最後に、ビュー ファイルを作成して、予約リストと予約フォーム。

resources/views フォルダー内に bookings という名前のフォルダーを作成し、その中に次の 2 つのビュー ファイルを作成します。

index.blade.php ファイルの内容:

@foreach ($bookings as $booking)
    <p>用户: {{ $booking->user->name }}</p>
    <p>开始日期: {{ $booking->start_date }}</p>
    <p>结束日期: {{ $booking->end_date }}</p>
@endforeach

create.blade.php ファイルの内容:

<form method="POST" action="/bookings">
    @csrf

    <label for="start_date">开始日期</label>
    <input id="start_date" name="start_date" type="date">

    <label for="end_date">结束日期</label>
    <input id="end_date" name="end_date" type="date">

    <label for="user_id">用户ID</label>
    <input id="user_id" name="user_id" type="number">

    <button type="submit">预订</button>
</form>

@if (session('success'))
    <p>{{ session('success') }}</p>
@endif

これでpoint, 簡単なオンライン予約システムの開発が完了しました。このシステムにより、ユーザーは現在の予約リストを確認したり、新規予約を行うことができます。

実際のプロジェクトでは、ユーザー認証や検索などの機能の追加が必要になる場合があります。ただし、この例は良い出発点となるはずです。

この記事が、Laravel フレームワークを学習し、オンライン予約システムを開発している読者に役立つことを願っています。私はあなたの成功を祈って!

以上がLaravelを使ってオンライン予約システムを開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
インクルージョンの幻想:リモートワークにおける孤立と孤独への対処インクルージョンの幻想:リモートワークにおける孤立と孤独への対処Apr 25, 2025 am 12:28 AM

トコンバティソルメントアンドロネリネスは、レモであり、regultionを実現し、等間grothopportunitionを提供し、効率的に使用します

フルスタック開発のためのLaravel:包括的なガイドフルスタック開発のためのLaravel:包括的なガイドApr 25, 2025 am 12:27 AM

laravelispopopularfulfull-stackdevelopment becuseiTOfferseamlessbbackEndpowendPowerandfflexibility.1)simplifyDatabaseItteractions.2)asbladetemplatingEngineallowsforclean、dynamictmltemplates.3)Laravelmix

ビデオ会議対決:リモート会議に適したプラットフォームを選択するビデオ会議対決:リモート会議に適したプラットフォームを選択するApr 25, 2025 am 12:26 AM

ビデオ会議プラットフォームを選択する際の重要な要因には、ユーザーインターフェイス、セキュリティ、および機能が含まれます。 1)ズームなど、ユーザーインターフェイスは直感的である必要があります。 2)セキュリティに注意を払う必要があり、Microsoftチームはエンドツーエンドの暗号化を提供します。 3)機能は要件を一致させる必要があり、Googlemeetは短い会議に適しており、Ciscowebexは高度なコラボレーションツールを提供します。

最新のLaravelと互換性のあるデータベースバージョンは何ですか?最新のLaravelと互換性のあるデータベースバージョンは何ですか?Apr 25, 2025 am 12:25 AM

Laravel10の最新バージョンは、MySQL 5.7以降、PostgreSQL 9.6以降、SQLite 3.8.8以降、SQLServer 2017以降と互換性があります。これらのバージョンは、クエリとストレージの効率を向上させるMySQL5.7のJSONデータ型など、LaravelのORM機能をサポートするため選択されます。

Laravelをフルスタックのフレームワークとして使用することの利点Laravelをフルスタックのフレームワークとして使用することの利点Apr 25, 2025 am 12:24 AM

laravelisanexcellentchoicefulfulffull stackdevelopmentduetoitsotsobustfeaturesofuse.1)そのImprifiescomplextaskswithnphpsynthenphpsynpsuls likebladeforfront-dandeloquentormforback-end.2)laravelmixandartisantystemを拡張するlaravedecosystem

Laravelの最新バージョンは何ですか?Laravelの最新バージョンは何ですか?Apr 24, 2025 pm 05:17 PM

laravel10、releaseonfebruary7,2023、isThelateStversion.itfeatures:1)改善された改善とnewReportmethexceptionhandler、2)拡張サプロポートフォーフプP8.1FeatureslikeNums、and3)

最新のLaravelバージョンはどのように開発を簡素化しますか?最新のLaravelバージョンはどのように開発を簡素化しますか?Apr 24, 2025 pm 05:01 PM

ThelatestlaravelversionEnhancesDevelopments:1)SimplifiedRoutingImplicitModelbinding、2)EnhancedEloquentCapabilitiesWithNewQueryMethods、and3)supportformdernphpeaturesliekenamedarguments、makedingdingingindenjoyableを改善しました。

最新のLaravelバージョンのリリースノートはどこにありますか?最新のLaravelバージョンのリリースノートはどこにありますか?Apr 24, 2025 pm 04:53 PM

laravel.com/docsで最新のLaravelバージョンのリリースノートを見つけることができます。 1)リリースノート新しい機能、バグの修正、改善に関する詳細情報を提供します。 2)新しい機能の適用を理解するのに役立つ例と説明が含まれています。 3)新機能の潜在的な複雑さと後方互換性の問題に注意してください。 4)リリースノートの定期的なレビューは、それを更新し続け、イノベーションを刺激することができます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません