setTable('operators'); $this->setDisplayField('name'); $this->setPrimaryKey('id'); $this->belongsTo('OperatorTypes', [ 'foreignKey' => 'operator_type_id', 'joinType' => 'INNER' ]); $this->addBehavior('Timestamp'); } /** * Default validation rules. * * @param \Cake\Validation\Validator $validator Validator instance. * @return \Cake\Validation\Validator */ public function validationDefault(Validator $validator) { $validator ->integer('id') ->allowEmptyString('id', null, 'create'); $validator ->scalar('username') ->maxLength('username', 50) ->requirePresence('username', 'create') ->notEmptyString('username'); //->add('usernamePasswordHash', 'unique', ['rule' => 'validateUnique', 'provider' => 'table']); $validator ->requirePresence('user_pubkey', 'create') ->notEmptyString('user_pubkey'); $validator ->scalar('data_base64') ->maxLength('data_base64', 255) ->requirePresence('data_base64', 'create') ->notEmptyString('data_base64'); return $validator; } /** * Returns a rules checker object that will be used for validating * application integrity. * * @param \Cake\ORM\RulesChecker $rules The rules object to be modified. * @return \Cake\ORM\RulesChecker */ public function buildRules(RulesChecker $rules) { //$rules->add($rules->isUnique(['usernamePasswordHash'])); $rules->add($rules->existsIn(['operator_type_id'], 'OperatorTypes')); return $rules; } }