isNew()) { $userName = $entity->get('userName'); if (empty($userName)) { throw new Error(); } $user = $this->where(array( 'userName' => $userName ))->findOne(); if ($user) { throw new Error(); } } else { if ($entity->isFieldChanged('userName')) { $userName = $entity->get('userName'); if (empty($userName)) { throw new Error(); } $user = $this->where(array( 'userName' => $userName, 'id!=' => $entity->id ))->findOne(); if ($user) { throw new Error(); } } } } }