cakephp:$belongsTo在模型中不起作用

cakephp:$belongsTo在模型中不起作用,cakephp,Cakephp,表:大学毕业生申请人 CREATE TABLE IF NOT EXISTS `graduate_applicants` ( `grat_id` int(10) NOT NULL auto_increment, `studentnum` int(9) NOT NULL, `QuarterID` int(10) NOT NULL, PRIMARY KEY (`grat_id`) ) 表:斯图大学学生 CREATE TABLE IF NOT EXISTS `stu_student

表:大学毕业生申请人

CREATE TABLE IF NOT EXISTS `graduate_applicants` (
  `grat_id` int(10) NOT NULL auto_increment,
  `studentnum` int(9) NOT NULL,
  `QuarterID` int(10) NOT NULL,
  PRIMARY KEY  (`grat_id`)
) 
表:斯图大学学生

CREATE TABLE IF NOT EXISTS `stu_students` (
  `id` int(11) NOT NULL auto_increment,
  `studentid` int(9) default NULL,
  `firstname` varchar(50) default NULL,
  `lastname` varchar(50) default NULL,
  `email` varchar(100) default NULL,
  PRIMARY KEY  (`id`),
  KEY `studentid` (`studentid`),
 )
型号:

class GraduateApplicant extends AppModel{

var $name = 'GraduateApplicant';

var $tablePrefix = '';

var $belongsTo = array('Student' => array('className' => 'Student','foreignKey' => false,''conditions' => array('Student.studentid=GraduateApplicant.studentnum'),'fields' => '','order' => ''),);

}
控制器:

$list = $this->paginate('GraduateApplicant');

我不明白为什么$list是空的?

如果您设置表以正确反映它们之间的关系,CakePHP确实会让您的生活更轻松。您可以将代码减少90%,因为您不必尝试手动指定表的链接方式

students
---------------------------------------------
id   |   firstname   |   lastname   |   email


graduate_applicants
------------------------------------
id   |   student_id   |   quarter_id
那么你的模型就简单了:

class GraduateApplicant extends AppModel {

    public $belongsTo = array('Student');

}
如果这是一个选项,我建议您像这样正确地设置数据库表,而不是在不同的表student.studentid、graduateapplicator.studentnum中将student ID列称为不同的内容


如果您为模型命名以正确反映表名,也会使您的生活更加轻松。你的桌子叫stu_students,但你的模型叫Student。您应该命名表Student和模型Student、表stu_Student和模型Student。

是否将其包含在包含键或递归键中?此外,您的示例模型在“条件”之前的$belongsTo定义中还有一个额外的报价。最后,显示您的SQL。为什么字段设置为?您可以发布您的学生模型吗?