基本上我正在创建一个应用程序,其中一个事件可以有多个日期范围,如下所示,我想在jQuery日历上显示这些事件。
Event Table
ID Name
1 Test Event
Event Date Table
ID Event_ID Start Date End Date
1 1 2018-04-22 2018-04-22
2 1 2018-04-25 2018-04-27
3 1 2018-05-01 2018-05-10
有活动模型,但活动日期没有任何型号 那么我怎么能用laravel雄辩的关系呢?
在从数据库中检索事件时,如何检查特定日期范围内的特定事件。
提前致谢!
答案 0 :(得分:1)
您可以为"事件日期表"制作模型。然后在具有多种关系的事件模型中引用它。 首先,您必须使用以下行在命令提示符下创建模型:
return configuration["Smtp:server"];
然后你必须在EvebtDate模型中设置$ table属性:
php artisan make:model EventDate
属于与事件模型的关系:
protected $table='Event Date Table';
在您的事件模型中,您必须设置与EventDate模型的hasmany关系:
public function event(){
return $this->belongsTo(Event::class,'Event_ID' );
}
之后,您可以从具有该关系的Event中的Event Date表中检索所有记录。如果你使用碳来将数据插入日期列,你可以做这样的事情:
public function eventDates(){
return $this->hasMany(EventDate::class,'Event_ID' );
}
然后你必须做一个foreach循环来获取事件并将它们放入一个数组中:
$eventDates = EventDate::whereBetween('Start Date', [$dateStart->format('Y-m-d'), $dateE->format('Y-m-d')])
->whereBetween('End Date', [$dateStart->format('Y-m-d'), $dateE->format('Y-m-d')])
->get();
这样您就可以检索特定日期范围内的所有可用事件。
希望这会有所帮助!