setTable('state_groups'); $this->setDisplayField('name'); $this->setPrimaryKey('id'); $this->belongsTo('Indices', [ 'foreignKey' => 'index_id', 'joinType' => 'INNER' ]); $this->hasMany('StateGroupAddresses', [ 'foreignKey' => 'state_group_id' ]); $this->hasMany('StateUsers', [ 'foreignKey' => 'state_group_id' ]); $this->hasMany('TransactionGroupCreates', [ 'foreignKey' => 'state_group_id' ]); $this->hasMany('Transactions', [ 'foreignKey' => 'state_group_id' ]); } /** * 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('name') ->maxLength('name', 50) ->requirePresence('name', 'create') ->notEmptyString('name'); $validator ->requirePresence('root_public_key', 'create') ->notEmptyString('root_public_key'); $validator ->notEmptyString('user_count'); 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->existsIn(['index_id'], 'Indices')); return $rules; } }