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.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
>

-- 
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