Rumah >rangka kerja php >Laravel >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.
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.
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
在这一步中,我们将创建模型和定义它们之间的关系。
首先,创建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'); }
现在,我们需要定义路由和相应的控制器方法来处理预订系统的操作。
打开 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', '预订成功'); } }
最后,我们需要创建视图文件来显示预订列表和预订表单。
在 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> @endifMenjalankan 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 migrasicreate_bookings_table
: rrreee
Jalankan arahan berikut untuk melaksanakan migrasi dan buat jadual pangkalan data: 🎜rrreeeUser
: 🎜rrreee🎜Tambahkan kod berikut dalam model Booking
: 🎜 rrreeeroutes/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!