Yes the "join" or "relation" HABTM table uses the AppModel object unless you supply a model name with the "with" option. Ive ran into many problems because of this.
On Sep 8, 11:21 pm, Martin Westin <[email protected]> wrote: > I am not sure about this but I have a vague memory about reading that > for habtm Cake does not look for any real model unless you specify > "with" in the association. The automagic being that you don't have to > make a real linking model for those simple habtm associations and Cake > does not have to spend time looking for it. > > /Martin > > On Sep 8, 11:18 am, learning_cake_php <[email protected]> wrote: > > > WELL WELL..hehe.. nice trick you had ther..i read the manual aboyt > > HABTM's with and kablamm!! it works.. > > so why is cake behaving things like that?they always used the word > > "automagically" but then dont know how to > > automagically interpret the names i used even i followed the > > convention..or maybe i did something wrong somewhere.. > > for now,ill stick with the "with" key..hard to find the bug there(for > > me)... > > thank you guys...deadline is fast approaching..still nid to add auth > > to my project...acos and aros are still > > complicated for me this time..hehe > > > On Sep 8, 12:02 am, Martin Westin <[email protected]> wrote: > > > > I agree with the good doctor. > > > One detail you may not realise is that it matters little if if you > > > name the model correctly unless you also specify "with" on the > > > associations... and that you do it from both sides. > > > > Unless you specify "with" and specify the Modelname Cake might be > > > loading AppModel (I believe this happened to me a few months ago even > > > though it shouldn't). > > > > More definite is that you must specify "with" from both sides of the > > > habtm. If you do it only from one side you can be sure the other one > > > is loaded first and Cake chooses AppModel. From that point on there is > > > nothing you can do to bring up the real model since the AppModel will > > > be in the registry. > > > > I noticed this when normal requests worked and shell access was messed > > > up... because the models were loaded in a different order. > > > > /Martin > > > > On Sep 8, 8:33 am, "Dr. Loboto" <[email protected]> wrote: > > > > > Output get_class($this->EnrolleesOfferedSubject) in your controller. > > > > If it is AppModel cake cannot find your model file. > > > > > On Sep 8, 10:32 am, learning_cake_php <[email protected]> wrote: > > > > > > i already check my model names and codes... > > > > > i have a controller named EnrollmentController and from there > > > > > i used the $uses property for me to user the EnrolleesOfferedSubject > > > > > model.. > > > > > why is it that save,create and delete method works just fine..saves > > > > > and delete to/from > > > > > correct table(enrollees_offered_subjects) but my custom method wont > > > > > work..here is the actual code: > > > > > > //enrollment_controller.php > > > > > <? > > > > > class EnrollmentController extends AppController { > > > > > var $name = 'Enrollment'; > > > > > var $uses = array( > > > > > 'Enrollment', > > > > > 'Student', > > > > > 'EnrollmentPayment', > > > > > 'Enrollee', > > > > > 'OfferedSubject', > > > > > > > > > > 'EnrolleesOfferedSubject', > > > > > 'Major', > > > > > 'Campus', > > > > > 'College', > > > > > 'Course', > > > > > 'Subject', > > > > > 'Program', > > > > > 'Scholarship', > > > > > 'Users' > > > > > ); > > > > > > function subjectView(){ > > > > > $this->setCRUD('subject'); > > > > > > > > > > > $student=$this->Student->isStudent($this->Session->read > > > > > ('Student.id')); > > > > > if(!$student){ > > > > > $this->Session->setFlash(__('Student > > > > > Not Found.', true)); > > > > > > > > > > $this->redirect(array('action'=>'index')); > > > > > } > > > > > > $this->Session->write('Student.id', > > > > > $student['Student']['id']); > > > > > $this->Session->write('Student.full_name', > > > > > $student['Student'] > > > > > ['last_name'] > > > > > > > > > > .", ".$student['Student']['first_name'] > > > > > > > > > > ." ".$student['Student']['middle_name'] > > > > > > > > > > ." ".$student['Student']['sur_name'] > > > > > > > > > > ); > > > > > > > > > > > $enrollmentPayment=$this->EnrollmentPayment->isPaid($this->Session- > > > > > > >read('Student.id')); > > > > > > if(!$enrollmentPayment){ > > > > > $this->Session->setFlash(__('Not Yet > > > > > Paid.', true)); > > > > > > > > > > $this->redirect(array('action'=>'paymentAdd')); > > > > > } > > > > > > > > > > > $enrollee=$this->Enrollee->isEnrolled($this->Session->read > > > > > ('Student.id')); > > > > > > if(!$enrollee){ > > > > > $this->Session->setFlash(__('Student > > > > > Not Yet Enrolled.', true)); > > > > > > > > > > $this->redirect(array('action'=>'enrolleeAdd')); > > > > > } > > > > > > $this->EnrolleesOfferedSubject->recursive = 0; > > > > > > > > > > //$this->EnrolleesOfferedSubject->unbindModel(array > > > > > ('belongsTo'=>array('Enrollee','OfferedSubject'))); > > > > > > > > > > $this->EnrolleesOfferedSubject->bindModel(array('belongsTo'=>array( > > > > > 'Enrollee'=>array( > > > > > > > > > > 'foreignKey'=>'enrollee_id', > > > > > 'type'=>'INNER' > > > > > ), > > > > > 'OfferedSubject'=>array( > > > > > 'foreignKey'=>'offered_subject_id', > > > > > 'type'=>'INNER' > > > > > ), > > > > > 'Subject'=>array( > > > > > 'foreignKey'=>false, > > > > > 'type'=>'INNER', > > > > > 'conditions'=> array('Subject.id = > > > > > OfferedSubject.subject_id') > > > > > ) > > > > > ) > > > > > ) > > > > > ); > > > > > > > > > > $this->set('student_full_name',$this->Session->read > > > > > ('Student.full_name')); > > > > > > > > > > $this->set('student_id',$this->Session->read('Student.id')); > > > > > $this->set('enrolleesOfferedSubjects', > > > > > $this->EnrolleesOfferedSubject->find('all', array( > > > > > > 'conditions' => array( > > > > > > > > > > 'EnrolleesOfferedSubject.enrollee_id' => $enrollee['Enrollee'] > > > > > ['id'], > > > > > > > > > > 'EnrolleesOfferedSubject.campus_id' => $this->Enrollment->campusId, > > > > > > ) > > > > > ) > > > > > ) > > > > > ); > > > > > } > > > > > function subjectResult(){ > > > > > Configure::write('debug', '0'); > > > > > $this->setCRUD('subject'); > > > > > $searchKey=trim($this->data['searchKey']); > > > > > > > > > > $student=$this->Student->isStudent($this->Session->read > > ... > > read more » --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
