Yes, you are right. It is so impt to ensure that all Models are linked
properly. Otherwise nothing will work.

Thanks again

On Jul 7, 9:10 am, "Chaitanya Maili StrApp.net"
<[email protected]> wrote:
> Hi,
>
> So Parent hasMany Child and Child belongsTo Parent
> that is what you need to write in the model relation.
>
> So suppose there is a model called Parent and Child,
> then you should write the following code in the Parent model
> $hasMany = array('Child');
>
> and in the Child model
> $belongsTo = array('Parent');
>
>
>
> On Wed, Jul 6, 2011 at 12:26 PM, varai <[email protected]> wrote:
> > hi,
>
> > What i mean here is one parent can have many children in the same
> > school. One child belongs to one parent.
>
> > So, how can i show that relationship?
>
> > thank you.
>
> > On Jul 6, 8:10 am, "Chaitanya Maili StrApp.net"
> > <[email protected]> wrote:
> > > Hi ,
>
> > > You are providing wrong relations
>
> > > relationships:
> > > Student hasOne MerryParent          (Correct)
> > > MerryParent hasMany Student        (Wrong)
> > > it should be
> > > MerryParent belongsTo Student
>
> > > because In your case Student is the parent table and MerryParent is the
> > > child table.
>
> > > Regards,
> > > Chaitanya.
>
> > > On Tue, Jul 5, 2011 at 10:28 AM, varai <[email protected]> wrote:
> > > > Hi,
>
> > > > I'm having 2 related models in 1 form (add.ctp) but validation is
> > > > working only for 1 model. ie. validation is working fine for Student
> > > > model but not MerryParent model.
>
> > > > Can anyone tell me on what i'm doing wrong? thank you.
>
> > > > relationships:
> > > > Student hasOne MerryParent
> > > > MerryParent hasMany Student
>
> > > > student.php
> > > > <?php
> > > > class Student extends AppModel{
> > > >        var $name='Student';
> > > >        var $hasOne=array(
> > > >                        'MerryParent' => array(
> > > >                                'className' => 'MerryParent',
> > > >                                'foreignKey'=>'student_id',
> > > >                                'dependent' => true)
> > > >                                );
> > > >        var $belongsTo='MerryClass';
>
> > > >        var $validate=array(
>
> > > >  'name'=>array('rule'=>array('minLength',1),'message'=>'Name is
> > > > required!'),
> > > >                        'dob'=>array('rule'=>'notEmpty','message'=>'Date
> > of
> > > > Birth is
> > > > required!'),
> > > >                        'class_id'=>array('rule'=>'notEmpty',
> > > > 'message'=>'Which class are
> > > > you enquiring about?')
> > > >                        );
>
> > > > }
> > > > ?>
>
> > > > students_controller.php
> > > > <?php
> > > > class StudentsController extends AppController{
>
> > > >        function add(){
> > > >                if (!empty($this->data)){
> > > >                        var_dump($this->data);
> > > >                        die(debug($this->Student->validationErrors));
> > > >                        if ($this->Student->saveAll($this->data))
> > > >                           {
> > > >                                $this->Session->setFlash('Your child\'s
> > > > admission has been
> > > > received. We will send you an email shortly.');
>
> > > >  $this->redirect(array('controller'=>'pages', 'action'=>'home'));
>
> > > >                                }
>
> > > >                   /* else
> > > >                        {
> > > > //die(debug($this->Student->validationErrors));
>
> > > >                        $this->Session->setFlash('Your child\'s
> > admission
> > > > failed to
> > > > save.');
>
> > > >  //$this->redirect(array('controller'=>'pages',
> > > > 'action'=>'home'));
>
> > > >                        }*/
> > > >            } //for if (!empty....
> > > >        }//end function
> > > > }
> > > > ?>
>
> > > > merryparent.php
> > > > <?php
> > > > class MerryParent extends AppModel{
> > > >         var $name='MerryParent';
> > > >         var $hasMany=array(
> > > >                        'Student'=>array(
> > > >                                'className'=>'Student',
> > > >                                'foreignKey'=>'parent_id'
> > > >                                )
> > > >                        );
> > > >         var $belongsTo='State';
> > > >        var
> > > > $validate=array('initial'=>array('rule'=>'notEmpty','message'=>'Please
> > > > select your initial'),
>
> > > >  'name'=>array('rule'=>array('minLength',1),'message'=>'Name is
> > > > required!'),
>
> > > >  'email'=>array('rule'=>'email','message'=>'Valid email address
> > > > required!','required'=>true, 'allowEmpty'=>false),
>
> > > >  'landline'=>array('rule'=>array('custom','/(0[0-9]{2,4}-[2-9][0-9]
> > > > {5,7})/'), 'required'=>false, 'allowEmpty'=>true, 'message'=>'Invalid
> > > > phone number! phone number format: eg 020-22345678 OR 0544-7573758 OR
> > > > 02345-874567 '),
>
> > > >  'mobile'=>array('rule'=>array('custom','/([89]{1}[0-9]{9})/'),
> > > > 'required'=>true, 'allowEmpty'=>false, 'message'=>'Invalid mobile
> > > > number! mobile number format: eg 9876543211'),
>
> > > >  'address'=>array('rule'=>array('alphaNumeric',array('minLength',
> > > > 1),'required'=>true, 'allowEmpty'=>false, 'message'=>'Please enter
> > > > your address.'),
>
> > > >  'city'=>array('rule'=>'notEmpty','message'=>'Please select your
> > > > city','required'=>true, 'allowEmpty'=>false),
>
> > > >  'state'=>array('rule'=>'notEmpty','message'=>'Please select your
> > > > state','required'=>true, 'allowEmpty'=>false),
>
> > > >  'postal_code'=>array('rule'=>array('numeric',6),'message'=>'valid
> > > > postal code required!','required'=>true, 'allowEmpty'=>false)
> > > > ?>
>
> > > > merryparents_controller.php
> > > > <?php
> > > > class MerryParentsController extends AppController{
>
> > > >        var $name='MerryParents';
>
> > > >        function index(){
> > > >        var_dump($this->data);
> > > >                die(debug($this->MerryParent->ValidationErrors));
> > > >        }
>
> > > > }
> > > > ?>
>
> > > > add.ctp
> > > > <?php
> > > >        echo $form->create('Student', array('action'=>'add'));
> > > >        echo '<fieldset>';
> > > >        echo '<legend>Student Information</legend>';
> > > >        echo $form->input('Student.name');
>
> > > >        $options = array('Male'=>'Male','Female'=>'Female');
> > > >        $attributes = array('value'=>'Male');
> > > >        echo $form->radio('Student.gender',$options,$attributes);
>
> > > >        echo $form->input('Student.dob', array('label'=>'Date of Birth',
> > > >                                        'dateFormat'=>'DMY',
> > > >                                        'empty'=>true,
> > > >                                        'timeFormat' => '',
> > > >                'minYear' => (
> > > >                        date('Y') - 5
> > > >                ),
> > > >                'maxYear' => (
> > > >                        date('Y') - 2
> > > >                )
> > > >                                ));
> > > >        echo $form->input('Student.class_id',
> > > >                        array(
> > > >                        'label'=>'Enquiry Class for',
> > > >                        'empty'=>true,
>
> > > >  'options'=>array('1'=>'Playgroup','2'=>'Nursery','3'=>'LKG',
> > > > '4'=>'UKG')
> > > >                        )
> > > >                        );
> > > >        echo '</fieldset>';
>
> > > >        echo '<fieldset>';
> > > >        echo '<legend>Parent Information</legend>';
> > > > /*      echo $form->input('MerryParent.id', array('type'=>'hidden'));
> > > > */      echo $form->input('MerryParent.initial',
> > > >        array('empty'=>true,
> > > >        'options'=>array('Dr'=>'Dr',
> > > >                                        'Mr'=>'Mr',
> > > >                                        'Mrs'=>'Mrs',
> > > >                                        'Ms'=>'Ms')
> > > >        )
> > > >        );
> > > >        echo $form->input('MerryParent.name',
> > > > array('label'=>'Parent/Guardian
> > > > Name'));
> > > >        echo $form->input('MerryParent.email');
> > > >        echo $form->input('MerryParent.landline');
> > > >        echo $form->input('MerryParent.mobile');
> > > >        echo $form->input('MerryParent.address');
> > > >        echo $form->input('MerryParent.city');
> > > >        echo $form->input('MerryParent.state', array('empty'=>true));
> > > >        echo $form->input('MerryParent.postal_code');
> > > >        echo '</fieldset>';
> > > >        //pr ($this->validationErrors);
> > > >        echo $form->end('Submit');
> > > > ?>
>
> > > > --
> > > > Our newest site for the community: CakePHP Video Tutorials
> > > >http://tv.cakephp.org
> > > > Check out the new CakePHP Questions sitehttp://ask.cakephp.organdhelp
> > > > others with their CakePHP related questions.
>
> > > > To unsubscribe from this group, send email to
> > > > [email protected] For more options, visit this
> > group
> > > > athttp://groups.google.com/group/cake-php
>
> > --
> > Our newest site for the community: CakePHP Video Tutorials
> >http://tv.cakephp.org
> > Check out the new CakePHP Questions sitehttp://ask.cakephp.organd help
> > others with their CakePHP related questions.
>
> > To unsubscribe from this group, send email to
> > [email protected] For more options, visit this group
> > athttp://groups.google.com/group/cake-php

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to