255], [['rfid_key'], 'string', 'max' => 25], [['number' ], 'unique'], ]; } public function behaviors() { return [ [ 'class' => TimestampBehavior::className(), //mentés előtt kitölti a save methódus meghívása előtt kitölti a created... mezőket 'value' => function(){ return date('Y-m-d H:i:s' ); } ] ]; } /** * @inheritdoc Minden modelnak van egy Attribut labels függvénye ami modelhez tartalmazza a fordítások */ public function attributeLabels() { return [ 'id_key' => Yii::t('common/key', 'Id Key'), 'number' => Yii::t('common/key', 'Number'), 'rfid_key' => Yii::t('common/key', 'RFID key'), 'status' => Yii::t('common/key', 'Status'), 'type' => Yii::t('common/key', 'Type'), 'created_at' => Yii::t('common/key', 'Created At'), 'updated_at' => Yii::t('common/key', 'Updated At'), ]; } static function statuses() { return [ self::STATUS_ACTIVE => Yii::t('common/key', 'Active'), // t - translate a key a kategoria common/messages/hu/common/key.php mappa (létre kell hozni a fájlt) self::STATUS_DELETED => Yii::t('common/key', 'Inactive'), ]; } public static function types(){ return [ self::TYPE_NORMAL => Yii::t('common/key', 'Key'), ]; } public function getHumanType(){ $result = ""; $types = self::types(); if ( array_key_exists($this->type, $types) ){ $result = $types[$this->type]; } return $result; } /** * @param \yii\db\Query $query * */ public static function addKeyCondition($query, $number , $fieldNumber = "key.number",$fieldRfid = "key.rfid_key"){ $number = Helper::fixAsciiChars($number); $query->andWhere( ['or' , [$fieldNumber =>$number ],[$fieldRfid =>$number ] ]); } /** * @param \yii\db\Query $query * */ public static function addKeyConditionOptional($query, $number , $fieldNumber = "key.number",$fieldRfid = "key.rfid_key"){ $number = Helper::fixAsciiChars($number); $query->andFilterWhere( ['or' , [$fieldNumber =>$number ],[$fieldRfid =>$number ] ]); } public function beforeSave($insert) { if ( parent::beforeSave($insert) ){ $this->rfid_key = Helper::fixAsciiChars($this->rfid_key); return true; } return false; } }