Laravel-预订系统的数据库设计

时间:2019-03-26 09:35:59

标签: laravel

我想要一些用户(主机)来的数据库模式,并提供一定日期的房间,用户可以保留它们,所以这是它的工作方式。

例如,我提供从现在的3/26/2019到3/29/2019的房间,而用户到来,而日期选择器选择一个日期,例如从3/26/2019到3/28/2019,然后用户预定房间。

所以我想为自己的房间(房间)做一张桌子:

Schema::create('properties', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->integer('type');
        $table->text('title');
        $table->float('base_price');
        $table->integer('base_availability');
        $table->integer('max_occupancy');
        $table->timestamps();
    });

在这里,我想我应该做一个适当的日历表,并在它们之间建立某种联系,这就是我能猜到的,所以任何想法该怎么做??

1 个答案:

答案 0 :(得分:1)

首先创建“预订”迁移

Schema::create('properties', function (Blueprint $table) {
 $table->bigIncrements('id');
 $table->integer('property_id');
 $table->date('start_date');
 $table->date('end_date');
 $table->timestamps();
});

然后在它们之间创建关系。在属性模型中

public function reservations()
{
 return $this->hasMany(Reservation::class, property_id)
}

在预订模型中

public function property()
{
 return $this->belongsTo(Property::class, property_id)
}

https://laravel.com/docs/master/eloquent-relationships

上了解有关关系的更多信息