Переменная Php в модели CakePHP

Я пытаюсь использовать соединение с двумя таблицами, используя много отношений 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 ) ); 

ИЛИ

  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 

Любая помощь?

Вы не можете использовать переменные в объявлении переменной внутри класса. Это означает, что использование $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); } 

Это преодолевает использование переменной во время объявления переменной класса.