8 * This is the model class for table '{{%locations}}'.
10 * @property int $id Идентификатор места (неизменяемое)
11 * @property int $region_id Идентификатор региона (подразделения)
12 * @property string $name Нименование маста размещения
13 * @property string $regionName Нименование региона/подразделения
15 * @property Items[] $items
16 * @property Regions $region
18 class Locations extends \yii\db\ActiveRecord
25 public static function tableName()
27 return '{{%locations}}';
33 public function rules()
36 [['region_id', 'name'], 'required'],
37 [['region_id'], 'default', 'value' => null],
38 [['id', 'region_id'], 'integer'],
39 [['name'], 'string', 'max' => 120],
40 [['region_id'], 'exist', 'skipOnError' => true, 'targetClass' => Regions::className(), 'targetAttribute' => ['region_id' => 'id']],
47 public function attributeLabels()
50 'id' => Yii::t('app', 'Identifier'),
51 'region_id' => Yii::t('locations', 'Region ID'),
52 'name' => Yii::t('locations', 'Location name'),
53 'regionName' => Yii::t('regions', 'Region name'),
57 // Получение связанных с конкретным местом перемещений предметов/оборудования
58 public function getMoving()
60 return $this->hasMany(Moving::className(), ['location_id' => 'id']);
64 * Получение связанного оборудования с конкретным местом
66 * @return \yii\db\ActiveQuery
68 public function getItems()
70 return $this->getMoving()->select(Items::tableName() . '.*')->joinWith('items');
74 * Получение подразделения для конкретного места
76 * @return \yii\db\ActiveQuery
78 public function getRegions()
80 return $this->hasOne(Regions::className(), ['id' => 'region_id']);