我正在尝试使用两个表连接使用CakePHP的多个关系和条件我的模型代码在这里使用
public $userid = 3;
public $name = 'Course';
public $hasMany = array(
'Enrollcourse' => array(
'className' => 'Enrollcourse',
'foreignKey' => 'course_id',
'conditions' => array('Enrollcourse.student_id' => $this->userid),
'dependent' => true
)
);
OR
public $userid = 3;
public $name = 'Course';
public $hasMany = array(
'Enrollcourse' => array(
'className' => 'Enrollcourse',
'foreignKey' => 'course_id',
'conditions' => array('Enrollcourse.student_id' => $userid),
'dependent' => true
)
);
这里是$userid
是一个变量,用于检查以检索所选用户的数据,但我无法获得此信息。发生以下情况
Error: parse error
File: E:\wamp\www\simpleApp\app\Model\course.php
Line: 10
任何帮助?
答案 0 :(得分:4)
您不能在类的变量声明中使用变量。这意味着使用$userid
将导致您看到的解析错误。
克服动态信息的最佳方法是替换/重载模型的构造函数:
public function __construct($id = false, $table = null, $ds = null) {
$this->hasMany = array(
'Enrollcourse' => array(
'className' => 'Enrollcourse',
'foreignKey' => 'course_id',
'conditions' => array('Enrollcourse.student_id' => $this->userid),
'dependent' => true
)
);
parent::__construct($id, $table, $ds);
}
这克服了在类变量声明中使用变量。