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
