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
('Student.id'));
if(!$student){
$this->Session->setFlash(__('Session has
expired. Please click
done and try again.', true));
}elseif (!empty($searchKey)){
$this->OfferedSubject->recursive = 1;
$this->set('offeredSubjects',
$this->OfferedSubject->find
('all',array(
'conditions'=>array(
'and'=>array(
'Subject.code LIKE
'=>$this->data['searchKey'].'%',
'OfferedSubject.campus_id' => $this->Enrollment-
>campusId
)
)
)
)
);
$this->set('total',
$this->OfferedSubject->find('count',array(
'conditions'=>array(
'and'=>array(
'Subject.code LIKE
'=>$this->data['searchKey'].'%',
'OfferedSubject.campus_id' => $this->Enrollment-
>campusId
)
)
)
)
);
}else{
$this->autoRender=false;
}
//$this->layout = 'ajax';
}
function subjectAdd($id = null, $subject = null){
$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'));
}
if (!$id || !$subject){
$this->Session->setFlash(__('Invalid Offered
Subject', true));
$this->redirect(array('action'=>'subjectView'));
}
$this->EnrolleesOfferedSubject->setValues(array(
'enrollee_id'=> $enrollee['Enrollee']['id'],
'offered_subject_id'=> $id ,
'user_id'=>$this->Enrollment->userId,
'campus_id'=>$this->Enrollment->campusId,
'date_updated'=>date("Y-m-d g:i:s")
)
);
$this->EnrolleesOfferedSubject->create();
if ($this->EnrolleesOfferedSubject->save($this->data)) {
$this->Session->setFlash(__($subject . ' has
been added', true));
} else {
$this->Session->setFlash(__($subject. ' could
not be saved.
Please, try again.', true));
}
$this->redirect(array('action'=>'subjectView'));
}
function subjectDelete($id = null, $subject = null){
$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(__('Student 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->setValues(array(
'enrollee_id'=> $enrollee['Enrollee']['id'],
'id'=>
$id ,
)
);
if (!$id || !$subject) {
$this->Session->setFlash(__('Invalid id for
OfferedSubject',
true));
$this->redirect(array('action'=>'subjectView'));
}
if ($this->EnrolleesOfferedSubject->del($id)) {
$this->Session->setFlash(__($subject . ' has
been deleted',
true));
$this->redirect(array('action'=>'subjectView'));
}else{
$this->Session->setFlash(__($subject . ' cant
be deleted', true));
$this->redirect(array('action'=>'subjectView'));
}
}
}
?>
//enrollees_offered_subject.php
<?php
class EnrolleesOfferedSubject extends AppModel {
var $name = 'EnrolleesOfferedSubject';
var $validate = array(
'enrollee_id' => array('numeric'),
'offered_subject_id' => array('numeric'),
);
var $subjectLoadData = array();
//The Associations below have been created with all possible keys,
those that are not needed can be removed
var $belongsTo = array(
'Enrollee' => array(
'className' => 'Enrollee',
'foreignKey' => 'enrollee_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'OfferedSubject' => array(
'className' => 'OfferedSubject',
'foreignKey' => 'offered_subject_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Campus' => array(
'className' => 'Campus',
'foreignKey' => 'campus_id',
'type'=>'INNER',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
function beforeDelete($cascade = false){
$studentSubject = $this->find('first', array(
'conditions' => array(
'EnrolleesOfferedSubject.enrollee_id'
=> $this->subjectLoadData
['enrollee_id'],
'EnrolleesOfferedSubject.id' =>
$this->subjectLoadData['id']
)
)
);
if($studentSubject){
return true;
}else{
return false;
}
}
function beforeSave(){
foreach($this->subjectLoadData as $field=>$value){
$this->data['EnrolleesOfferedSubject'][$field]=$value;
}
return true;
}
function setValues($data=array()){
$this->subjectLoadData=$data;
}
}
?>
cake cant find method setValues using EnrollmentController but surely
works using EnrolleesOfferedSubjectsController..
Dr. Loboto sir..please help..still stuck here...i already
doublechecked all the model names,filenames,controller names..still
got no idea whats happening...
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
