Rumah >rangka kerja php >Laravel >Bagaimana untuk membangunkan sistem tempahan dalam talian menggunakan Laravel

Bagaimana untuk membangunkan sistem tempahan dalam talian menggunakan Laravel

WBOY
WBOYasal
2023-11-03 11:22:51661semak imbas

Bagaimana untuk membangunkan sistem tempahan dalam talian menggunakan Laravel

Cara menggunakan Laravel untuk membangunkan sistem tempahan dalam talian

Dengan populariti dan perkembangan Internet, sistem tempahan dalam talian menjadi semakin popular. Sama ada hotel, penerbangan atau restoran, pengguna mahu dapat membuat tempahan dengan mudah melalui internet. Dalam artikel ini, kami akan memperkenalkan anda tentang cara membangunkan sistem tempahan dalam talian yang mudah menggunakan rangka kerja Laravel.

  1. Persediaan persekitaran

Pertama, pastikan anda telah memasang PHP, Komposer dan Laravel. Cipta projek Laravel baharu dengan memasukkan arahan berikut pada baris arahan:

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

Ini akan memasang rangka kerja Laravel dan kebergantungannya secara automatik.

  1. Reka Bentuk Pangkalan Data

Dalam contoh ini, kami akan mencipta sistem tempahan mudah dengan dua entiti utama: Pengguna dan Tempahan. Kita perlu mencipta dua jadual pangkalan data untuk menyimpan maklumat bagi entiti ini.

Mula-mula, buka fail .env dalam projek dan konfigurasikan sambungan pangkalan data. Kemudian, jalankan arahan berikut untuk menjana fail pemindahan pangkalan data: .env 文件,并配置数据库连接。然后,运行以下命令生成数据库迁移文件:

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

分别运行这两个命令将创建两个迁移文件,打开这些文件并定义表的结构。

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');
}

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. 视图

最后,我们需要创建视图文件来显示预订列表和预订表单。

resources/views 文件夹中创建一个名为 bookings 的文件夹,并在其中创建以下两个视图文件。

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

Menjalankan kedua-dua arahan ini secara berasingan akan mencipta dua fail migrasi, membuka fail ini dan mentakrifkan struktur jadual.

Tambahkan kod berikut dalam fail migrasi create_users_table:

rrreee

Tambahkan kod berikut dalam fail migrasi create_bookings_table:

rrreee

Jalankan arahan berikut untuk melaksanakan migrasi dan buat jadual pangkalan data: 🎜rrreee
    🎜Model dan Perhubungan🎜🎜🎜Dalam langkah ini, kami akan mencipta model dan mentakrifkan hubungan antara mereka. 🎜🎜Mula-mula, buat model Pengguna dan Tempahan: 🎜rrreee🎜Tambahkan kod berikut dalam model User: 🎜rrreee🎜Tambahkan kod berikut dalam model Booking: 🎜 rrreee
      🎜Laluan dan Pengawal🎜🎜🎜Kini, kita perlu menentukan laluan dan kaedah pengawal yang sepadan untuk mengendalikan operasi sistem tempahan. 🎜🎜Buka fail routes/web.php dan tambahkan kod berikut: 🎜rrreee🎜Kemudian, buat pengawal BookingController: 🎜rrreee🎜Dalam BookingController kod> Tambahkan kod berikut pada pengawal: 🎜rrreee<ol start="5">🎜Lihat🎜🎜🎜Akhir sekali, kita perlu mencipta fail paparan untuk memaparkan senarai tempahan dan borang tempahan. 🎜🎜Buat folder bernama <code>bookings dalam folder resources/views dan cipta dua fail paparan berikut di dalamnya. 🎜🎜index.blade.php Kandungan fail: 🎜rrreee🎜create.blade.php Kandungan fail: 🎜rrreee🎜Pada ketika ini, kami telah melengkapkan sistem tempahan dalam talian yang mudah pembangunan. Melalui sistem ini, pengguna boleh melihat senarai tempahan semasa dan membuat tempahan baharu. 🎜🎜Dalam projek sebenar, anda mungkin perlu menambah lebih banyak fungsi, seperti pengesahan pengguna, carian, dsb. Tetapi contoh ini sepatutnya memberi anda titik permulaan yang baik. 🎜🎜Saya harap artikel ini akan membantu pembaca yang sedang mempelajari rangka kerja Laravel dan membangunkan sistem tempahan dalam talian. Saya doakan anda berjaya! 🎜

Atas ialah kandungan terperinci Bagaimana untuk membangunkan sistem tempahan dalam talian menggunakan Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn