Anyone ... pls a little help will be appreciated in the following
part..

> ...., but testing the application i was able to
> create a second profile for one user.
> I was guessing if thehasOneassociation should check that and return
> an error, or I am missing something?

Thnx

On May 5, 5:51 pm, Robin <[email protected]> wrote:
> Thanks Paulos for your advice. I could certainly add some manual
> checking before adding a child record. The question I am having in my
> mind is that should duplicate check be done by thehasOnerelationship
> or is it possible. Am I missing anything here?
>
> Robin
>
> On May 5, 2:27 am, paulos nikolo <[email protected]> wrote:
>
>
>
> > Hi Robin.I am not an expert coz i am trying to build a similar app of yours
> > so i ll tell you my opinion.As i saw your tables format i think you should
> > set depentent=true in user model and the exslusive field in profile model
> > true.The 1st one will delete the associated profile if the user has been
> > deleted and the 2nd (i think) is what u search for.Alternatively , you can
> > set the add profile link to invisible when a user has already a profile so
> > that the rest CRUD functions can be shown.
>
> > 2009/5/4 Robin <[email protected]>
>
> > > Hello, i'm new both to php and cake, so please excuse me if this is
> > > another obvious noob question.
>
> > > I was trying to understand how associations work by building up the
> > > example in the manual section of cakephp.org, i was able to build it
> > > up using bake with no much effort.
>
> > > The thing is, i have a users table and a profiles table, they look
> > > like this:
>
> > > CREATE TABLE `profiles` (
> > >  `id` int(11) NOT NULL auto_increment,
> > >  `name` varchar(100) collate utf8_unicode_ci NOT NULL,
> > >  `header_color` varchar(100) collate utf8_unicode_ci NOT NULL,
> > >  `user_id` int(11) NOT NULL,
> > >  PRIMARY KEY  (`id`),
> > > ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
>
> > > CREATE TABLE `users` (
> > >  `id` int(11) NOT NULL auto_increment,
> > >  `first_name` varchar(100) collate utf8_unicode_ci NOT NULL,
> > >  `last_name` varchar(100) collate utf8_unicode_ci NOT NULL,
> > >  `username` varchar(100) collate utf8_unicode_ci NOT NULL,
> > >  `password` varchar(100) collate utf8_unicode_ci default NULL,
> > >  PRIMARY KEY  (`id`)
> > > ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
>
> > > using bake i was able to create the models and to define the following
> > > associations
>
> > > User:
> > >        var $hasOne= array('Profile' =>array('className' => 'Profile',
> > >                                                'foreignKey' =>
> > > 'user_id',
> > >                                                'conditions' => '',
> > >                                                'fields' => '',
> > >                                                'order' => '',
> > >                                                'dependent' => ''),);
> > > Profile:
> > >        var $belongsTo = array('User' =>array('className' => 'User',
> > >                                                'foreignKey' =>
> > > 'user_id',
> > >                                                'conditions' => '',
> > >                                                'fields' => '',
> > >                                                'order' => '',
> > >                                                'counterCache' =>
> > > ''),);
>
> > > Which seems good to me, but testing the application i was able to
> > > create a second profile for one user.
> > > I was guessing if thehasOneassociation should check that and return
> > > an error, or I am missing something?
> > > On the other hand, i builded the tables based on my own understanding
> > > of the example, maybe they are wrong, and so the whole example.
>
> > > I was thinking of adding an UNIQUE clause on the user_id so forcing
> > > only one profile per user but doing that causes the application to
> > > show an ugly error database message, which is correct and obviously i
> > > can take care of it, but not seems to follow the elegant and simple
> > > rules of the rest of the application.
>
> > > Thanks in advance
>
> > > Robin
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to