t('Environment Id'), 'name_checksum' => t('Timeperiod Name Checksum'), 'properties_checksum' => t('Timeperiod Properties Checksum'), 'name' => t('Timeperiod Name'), 'name_ci' => t('Timeperiod Name (CI)'), 'display_name' => t('Timeperiod Display Name'), 'prefer_includes' => t('Timeperiod Prefer Includes'), 'zone_id' => t('Zone Id') ]; } public function createBehaviors(Behaviors $behaviors) { $behaviors->add(new ReRoute([ 'hostgroup' => 'host.hostgroup', 'servicegroup' => 'service.servicegroup' ])); $behaviors->add(new Binary([ 'id', 'environment_id', 'name_checksum', 'properties_checksum', 'zone_id' ])); } public function createRelations(Relations $relations) { $relations->belongsTo('environment', Environment::class); $relations->belongsTo('zone', Zone::class); $relations->belongsToMany('customvar', Customvar::class) ->through(TimeperiodCustomvar::class); $relations->belongsToMany('customvar_flat', CustomvarFlat::class) ->through(TimeperiodCustomvar::class); $relations->belongsToMany('vars', Vars::class) ->through(TimeperiodCustomvar::class); // TODO: Decide how to establish the override relations $relations->hasMany('range', TimeperiodRange::class); $relations->hasMany('host', Host::class) ->setForeignKey('check_timeperiod_id'); $relations->hasMany('Notification', Notification::class); $relations->hasMany('service', Service::class) ->setForeignKey('check_timeperiod_id'); $relations->hasMany('user', User::class); } }