Hi there, im trying to do a very simple one to one relationship from my users table to my user details table, no matter how hard i try i cannot get it to work. Could any body please shed some light on this?
CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`instance_id` int(11) unsigned NOT NULL,
`email` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`user_id`),
KEY `instance_id` (`instance_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=22 ;
CREATE TABLE IF NOT EXISTS `user_details` (
`user_id` int(11) unsigned NOT NULL,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `user_details`
ADD CONSTRAINT `user_details_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
And ive tried
$user = new User();
$user->setEmail(fRequest::get('user::email'));
$user->setPassword(fRequest::get('user::password'));
$user->setInstanceId($instance->getInstanceId());
$user->store();
$user_details = $user->createUserDetail();
$user_details->setFirstName(fRequest::get('user_detail::first_name'));
$user_details->setLastName(fRequest::get('user_detail::last_name'));
$user_details->store();
and
$user = new User();
$user->setEmail(fRequest::get('user::email'));
$user->setPassword(fRequest::get('user::password'));
$user->setInstanceId($instance->getInstanceId());
$user_details = new UserDetail();
$user_details->setFirstName(fRequest::get('user_detail::first_name'));
$user_details->setLastName(fRequest::get('user_detail::last_name'));
$user_details->associateUser($user);
$user->store();
Someone please help, its doing my head in.