255, ], [ [ 'region_id' ], 'exist', 'skipOnError' => true, 'targetClass' => Region::className(), 'targetAttribute' => [ 'region_id' => 'region_id' ], ], [ [ 'road_id' ], 'exist', 'skipOnError' => true, 'targetClass' => Road::className(), 'targetAttribute' => [ 'road_id' => 'road_id' ], ], [ [ 'state_common_id' ], 'exist', 'skipOnError' => true, 'targetClass' => StateCommon::className(), 'targetAttribute' => [ 'state_common_id' => 'state_common_id' ], ], [ [ 'surface_type_id' ], 'exist', 'skipOnError' => true, 'targetClass' => SurfaceType::className(), 'targetAttribute' => [ 'surface_type_id' => 'surface_type_id' ], ], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'cross_section_id' => 'Індекс', 'region_id' => 'Область', 'road_id' => 'Дорога', 'location_left' => 'Місцеположення, км+ зліва', 'location_right' => 'Місцеположення, км+ справа', 'direction' => 'Напрямок з\'їзду', 'surface_type_id' => 'Тип покриття', 'length_section' => 'Фактична довжина, м з\'їзду', 'length_surface' => 'Фактична довжина, м покриття', 'distance_edge' => 'Відстань від крайки проїзної частики, м', 'width' => 'Ширина, м', 'angle' => 'Кут примикання', 'tube_availability' => 'Наявність облаштування, труба', 'safety_availability' => 'Наявність облаштування, острівок безпеки', 'year_build' => 'Рік спорудження', 'year_repair' => 'Рік ремонту', 'state_common_id' => 'Технічний стан', ]; } /** * @return \yii\db\ActiveQuery */ public function getRegion() { return $this->hasOne(Region::className(), [ 'region_id' => 'region_id' ]); } /** * @return \yii\db\ActiveQuery */ public function getRoad() { return $this->hasOne(Road::className(), [ 'road_id' => 'road_id' ]); } /** * @return \yii\db\ActiveQuery */ public function getStateCommon() { return $this->hasOne(StateCommon::className(), [ 'state_common_id' => 'state_common_id' ]); } /** * @return \yii\db\ActiveQuery */ public function getSurfaceType() { return $this->hasOne(SurfaceType::className(), [ 'surface_type_id' => 'surface_type_id' ]); } public function getRightString() { return floor($this->location_right) . '+' . ( str_pad(round(( $this->location_right - floor($this->location_right) ) * 1000), 3, '0', STR_PAD_LEFT) ); } public function getLeftString() { return floor($this->location_left) . '+' . ( str_pad(round(( $this->location_left - floor($this->location_left) ) * 1000), 3, '0', STR_PAD_LEFT) ); } }