Пример #1
0
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return [['recordStatus', 'default', 'value' => static::RECORDSTATUS_USED], [['postcode', 'country_id'], 'required'], [['subdistrict_id', 'district_id', 'city_id', 'province_id'], 'safe'], [['recordStatus'], 'string'], [['postcode'], 'integer'], ['recordStatus', 'in', 'range' => [self::RECORDSTATUS_USED, self::RECORDSTATUS_DELETED]], ['country_id', 'exist', 'targetClass' => RgnCountry::className(), 'targetAttribute' => 'id', 'when' => function (RgnPostcode $model, $attribute) {
         $num = is_numeric($model->{$attribute});
         //$model->addError($attribute, "num: [{$num}]; val: [{$model->$attribute}];");
         return $num;
     }, 'message' => "Country doesn't exist."], ['province_id', 'exist', 'targetClass' => RgnProvince::className(), 'targetAttribute' => 'id', 'when' => function ($model, $attribute) {
         return is_numeric($model->{$attribute});
     }, 'message' => "Province doesn't exist."], ['city_id', 'exist', 'targetClass' => RgnCity::className(), 'targetAttribute' => 'id', 'when' => function ($model, $attribute) {
         return is_numeric($model->{$attribute});
     }, 'message' => "City doesn't exist."], ['district_id', 'exist', 'targetClass' => RgnDistrict::className(), 'targetAttribute' => 'id', 'when' => function ($model, $attribute) {
         return is_numeric($model->{$attribute});
     }, 'message' => "District doesn't exist."], ['subdistrict_id', 'exist', 'targetClass' => RgnSubdistrict::className(), 'targetAttribute' => 'id', 'when' => function ($model, $attribute) {
         return is_numeric($model->{$attribute});
     }, 'message' => "Subdistrict doesn't exist."]];
 }
Пример #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getSubdistrict()
 {
     return $this->hasOne(\common\models\RgnSubdistrict::className(), ['id' => 'subdistrict_id']);
 }
Пример #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRgnSubdistricts()
 {
     return $this->hasMany(\common\models\RgnSubdistrict::className(), ['district_id' => 'id']);
 }