User hasOne Profile belongsTo User But I think im just going to put 2 email fields in the user table and just do it that way rather than 1 in user and 1 in profile.
Thanks for your suggestions guys. dave -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of John Andersen Sent: March-22-10 4:33 AM To: CakePHP Subject: Re: Weird Validation Question Are your User and Profile models not associated/related to each other - User hasOne/belongsTo Profile? If you have that relationship, then just query for the Profile with user_id equal the Auth->user('id') :) Enjoy, John On Mar 22, 2:39 am, "Dave" <[email protected]> wrote: > This might be odd but i have user email and profile email. > User email is not published on the site (used for account, login, > forgot stuff like that) profile email is published on the site so for > security i figured that its best to use a separate email. > > So when a user wants to edit either of the emails i need to make sure > they are not the same so both cant be [email protected]. > > How would i validate 1 field based on 2 different models using > Auth->id since the email is directly related to the logged in user? > > I figured query the opposite table to see if this users email is the > same as this profile email (or vice versa depending onwhichis being > changed) but how do i use the auth id in this? > > validation rule: > array( > 'rule' => array('notSameAsUser', 'email'), > 'message' => 'Your public email address can not be the same as > your account email.', > 'last' => true) > > function: > > function notSameAsUser( $data ) { > > $valid = false; > > $params = array( > 'conditions' => array('Profile.id' => $id),//how do i get the id > from Auth in the model? > 'fields' => array('User.email') > 'contain' => array( > 'User' => array( > 'fields' => array( > 'User.email')))); > > $data $this->find('first', $params); > > if ( $data['User']['email'] != $data['Profile']['email'] ) { > $valid = true; > > } > > return $valid; > > } > > Dave Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions. You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group cake-php+at http://groups.google.com/group/cake-php?hl=en To unsubscribe from this group, send email to cake-php+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject. Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions. You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en To unsubscribe from this group, send email to cake-php+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.
