8 * This is the model class for table 'items'.
10 * @property int $id Идентификатор (неизменяемый)
11 // * @property int $type_id Идентификатор типа оборудования
12 * @property int $model_id Идентификатор модели предмета/оборудования
13 * @property string|null $name Сетевое имя оборудования
14 // * @property string|null $model Модель оборудования
15 * @property string|null $os Операционная система
16 * @property string|null $mac Сетевой MAC адрес
17 * @property string|null $serial Серийный номер
18 // * @property string|null $product Код оборудования
19 // * @property string|null $modelnumber Номер модели
20 * @property string|null $invent Инвентарный номер
21 * @property boolean $checked Флаг прохождения инвентаризации
22 * @property string|null $statusName Наименование состояния
23 * @property string|null $typeName Наименование типа
24 * @property string|null $locationName Наименование места размещения
25 * @property string|null $regionName Наименование региона/подразделения
26 * @property string|null $modelName Наименование предмета/оборудования
28 class Items extends \yii\db\ActiveRecord
39 public static function tableName()
47 public function rules()
50 [[ 'name', 'os', 'serial', 'comment' ], 'string', 'max' => 255 ],
51 [[ 'mac' ], 'string', 'max' => 20 ],
52 [[ 'invent' ], 'string', 'max' => 50 ],
53 [[ 'model_id' ], 'integer' ],
54 [[ 'checked' ], 'integer' ],
61 public function attributeLabels()
64 'id' => Yii::t('app', 'Identifier'), // Идентификатор
65 'name' => Yii::t('items', 'Item network name'), // Сетевое имя оборудования
66 'modelName' => Yii::t('items', 'Model'), // Модель
67 'model_id' => Yii::t('items', 'Model identifier'), // Идентификатор модели
68 'typeName' => Yii::t('items', 'Item type'), // Название типа
69 'os' => Yii::t('items', 'Operating system'), // Операционная система
70 'mac' => Yii::t('items', 'MAC address'), // MAC адрес
71 'serial' => Yii::t('items', 'Serial number'), // Серийный номер
72 'invent' => Yii::t('items', 'Inventory number'), // Инвентарный номер
73 'comment' => Yii::t('items', 'Additional Information'), // Дополнительная информация
74 'checked' => Yii::t('items', 'Location checked'), // Проинвентаризировано
75 'statusName' => Yii::t('items', 'State'), // Название состояния
76 'locationName' => Yii::t('items', 'Location'), // Название местоположения
77 'regionName' => Yii::t('items', 'Region'), // Название подразделения
82 // Получение всех перемещений предмета/оборудования
83 public function getMoving()
85 return $this->hasMany(Moving::className(), ['item_id' => 'id']);
88 // Получение модели предмета/оборудования
89 public function getModels()
91 return $this->hasOne(Models::className(), ['id' => 'model_id']);
94 // Получение статусов предмета/оборудования
95 public function getStatus()
97 return $this->getMoving()->select(Status::tableName() . '.*')->joinWith('status');
100 // Получение места размещения предмета/оборудования
101 public function getLocations()
103 return $this->getMoving()->select(Locations::tableName() . '.*')->joinWith('locations');
106 // Получение региона/подразделения размещения предмета/оборудования
107 public function getRegions()
109 return $this->getLocations()->select(Regions::tableName() .'.*')->joinWith('regions');
112 // Получение типа предмета/оборудования
113 public function getTypes()
115 return $this->getModels()->select(Types::tableName() . '.*')->joinWith('types');