Hello, recently I upgraded to Yii 1.1.13. I have not been able to use the ‘exist’ validator since. I have not had issues in the past. What is strange is that even if the user exists, I receive a validation error saying the ‘id’ is invalid. If I manually create the first record and type the user id in, it works fine. I can create subsequent entries after I manually created the first record. I hope that makes sense.
I basically have one user in the database for this example. When I create a new record in the record table manually it works fine and passes subsequent validations. If I keep the user as it is, and remove all entries from the record table, it fails validation, even though the user exists. Here is my example:
--
-- Table structure for table `record`
--
CREATE TABLE IF NOT EXISTS `record` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `record_name` varchar(25) CHARACTER SET latin1 NOT NULL,
  `user_id` int(10) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
-- Table structure for table `user`
--
CREATE TABLE IF NOT EXISTS `user` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(25) CHARACTER SET latin1 NOT NULL,
  `email` varchar(25) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--
-- Constraints for table `record`
--
ALTER TABLE `record`
  ADD CONSTRAINT `record_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
// For the Record Model
public function rules()
{
    return array(
        array('record_name, user_id', 'required'),
	array('record_name', 'length', 'max'=>25),
	array('user_id', 'exist'),
	array('id, record_name, user_id', 'safe', 'on'=>'search'),
    );
}
public function relations()
{
    return array(
        'user' => array(self::BELONGS_TO, 'User', 'user_id'),
    );
}
// For the User Model
public function rules()
{
    return array(
        array('name, email', 'required'),
	array('name, email', 'length', 'max'=>25),
	array('id, name, email', 'safe', 'on'=>'search'),
    );
}
public function relations()
{
    return array(
        'records' => array(self::HAS_MANY, 'Record', 'user_id'),
    );
}