'float', 'category_id' => 'int', 'program_duration' => 'int', 'is_seasonal' => 'bool', 'youth' => 'bool', 'program_type' => 'int', 'organizer' => 'int', 'generalnote' => 'int', 'status' => 'int', 'max_age_for_children' => 'int', 'insurance_1' => 'int', 'insurance_2' => 'int', 'insurance_3' => 'int', 'insurance_4' => 'int', 'in_slider' => 'bool', 'show_map' => 'bool', 'travel_country' => 'int', 'travel_category' => 'int', 'travel_agenda' => 'int', 'travel_company' => 'int', 'deposit_percent' => 'int', 'netto_prices_in_euro' => 'bool', 'default_flight_price' => 'float', 'travel_arrival_point_id' => 'int', 'position' => 'int', 'discount' => 'float', 'discount_is_percent_value' => 'int' ]; protected $fillable = [ 'profit_margin', 'category_id', 'program_code', 'program_duration', 'is_seasonal', 'youth', 'title', 'subtitle', 'slider_info', 'program_type', 'organizer', 'generalnote', 'status', 'included', 'class_description', 'excluded', 'advices', 'notes', 'url', 'max_age_for_children', 'html_description', 'payment_conditions', 'insurance_1', 'insurance_2', 'insurance_3', 'insurance_4', 'in_slider', 'show_map', 'map_html', 'map_image', 'map_image_ext', 'travel_country', 'travel_category', 'travel_agenda', 'travel_company', 'deposit_percent', 'netto_prices_in_euro', 'text_right', 'default_flight_price', 'travel_arrival_point_id', 'weekdays', 'position', 'discount', 'discount_is_percent_value' ]; public static $programTypeTypes = [ 0 => 'Eigenveranstaltung', 1 => 'Vermittlung' ]; public static $programDiscountTypes = [ 0 => '€', 1 => '%' ]; public static $travelCategoryTypes = [ 1 => 'Ägypten-Reise', 2 => 'Israel-Reise', 3 => 'Jordanien-Reise', 4 => 'Reise ohne Conversion-Code' ]; public function travel_arrival_point() { return $this->belongsTo(TravelArrivalPoint::class, 'travel_arrival_point_id'); } //default 1 sterntours public function travel_organizer() { //return $this->belongsTo(TravelOrganizer::class, 'organizer'); } public function travel_insurance() { return $this->belongsTo(TravelInsurance::class, 'insurance_3'); } public function travel_program_category() { return $this->belongsTo(TravelProgramCategory::class, 'category_id'); } public function travel_general_note() { //return $this->belongsTo(TravelGeneralNote::class, 'generalnote'); } public function option() { //return $this->hasOne(Option::class, 'program_id'); } public function page() { return $this->hasOne(Page::class, 'travel_program'); } public function classes() { return $this->hasMany(TravelClass::class, 'program_id'); } public function travel_classes() { return $this->hasMany(TravelClass::class, 'program_id'); } public function travel_departure_points() { //return $this->hasMany(TravelDeparturePoint::class, 'program_id'); } public function travel_periods() { //return $this->hasMany(TravelPeriod::class, 'program_id'); } public function travel_program_country() { return $this->hasOne(TravelProgramCountry::class, 'program_id'); } public function travel_program_countries() { return $this->hasMany(TravelProgramCountry::class, 'program_id'); } public function travel_country_content() { return $this->belongsTo(TravelCountry::class, 'travel_country'); } public function travel_program_destination() { //return $this->hasOne(TravelProgramDestination::class, 'program_id'); } public function travel_program_drafts() { return $this->hasMany(TravelProgramDraft::class); } public function travel_program_images() { //return $this->hasMany(TravelProgramImage::class, 'program_id'); } public function travel_program_option() { //return $this->hasOne(TravelProgramOption::class, 'program_id'); } public function travel_program_related() { //return $this->hasOne(TravelProgramRelated::class, 'program_2'); } public function hasTravelProgramDrafts (){ if($this->travel_program_drafts->count()){ return true; } return false; } public function getWeekdaysArray(){ if($this->weekdays){ return explode(',', $this->weekdays); } if($this->weekdays !== NULL){ return array(0); } return []; } public function setWeekdaysFromArray($value){ if($value){ if(is_array($value)){ if($value[0] === NULL){ $this->weekdays = "0,1,2,3,4,5,6"; }else{ $this->weekdays = implode(',', $value); } }else{ $this->weekdays = $value; } return $this->weekdays; } return ""; } }