我正在與CakePHP一起開發一個Web應用程序,該應用程序具有幾個表格以及它們之間的一些關係。在這種情況下,我有一系列涉及日曆年,部門和相關學校的會議,但是當數據從控制器返回到視圖時,模型無法獲取關聯的表信息。CakePHP模型無法抓取表關聯
已經有$belongsTo
工作人員與他們所屬的部門和學校之間的關係,並且當日歷數組返回日曆索引時,我也設法抓住相關會議,但理想情況下我希望能夠列出所有與日曆,部門和學校的名稱會面,而不是存儲在會議表中的ID字段。
這裏是我的表:
dbo.meetings
id (int) *primary key*
calendar_id (int)
department_id (int)
school_id (int)
created (datetime2(7))
modified (datetime2(7))
dbo.calendar
id (int) *primary key*
name (nvarchar(50))
startdate (datetime2(7))
enddate (datetime2(7))
created (datetime2(7))
modified (datetime2(7))
dbo.schools
id (int) *primary key*
name (nvarchar(255))
(other fields)
dbo.departments
id (int) *primary key*
name (nvarchar(255))
(other fields)
下面是會議控制器:
<?php
App::uses('AppController','Controller');
class MeetingsController extends AppController {
public $helpers = array('Form');
public function beforeFilter() {
parent::beforeFilter();
}
public function index() {
$this->set('meetings', $this->Meeting->find('all'));
}
}
?>
下面是會議的模式:
<?php
App::uses('AppModel','Model');
class Meeting extends AppModel {
public $primaryKey = 'id';
public $recursive = -1;
public $belongsTo = array(
'Calendar' => array(
'className' => 'Calendar',
'foreignKey' => 'calendar_id'
),
'School' => array(
'className' => 'School',
'foreignKey' => 'school_id'
),
'Department' => array(
'className' => 'Department',
'foreignKey' => 'department_id'
)
);
}
?>
目前index.ctp
文件中/View/Meetings
只包含打印出數組unti的<?php echo var_dump($meetings); ?>
我可以讓協會工作,然後我會根據需要進行調整。
這裏是陣列的樣子大氣壓:
array(1) {
[0]=>
array(1) {
["Meeting"]=>
array(6) {
["id"] => string(1) "1"
["calendar_id"] => string(1) "1"
["department_id"] => string(2) "33"
["school_id"] => string(1) "1"
["created"] => NULL
["modified"] => NULL
}
}
}
出於某種原因,它只是將不會獲取日曆,部門和學校的詳細信息,它應該和我想它。誰能幫忙?
編輯:示範學校
<?php
App::uses('AppModel','Model');
class School extends AppModel {
public $validate = array(
'name' => array(
'required' => array(
'rule' => 'notBlank',
'message' => 'A school name is required.'
)
)
);
}
?>
你看聯想錯誤。你能否確認「日曆」,「學校」和「部門」表格的模型被調用? – drmonkeyninja
@drmonkeyninja日曆,學校和部門分別 – Daniel
您有沒有理由不理會Cake的命名約定?它只會讓你的生活更加艱難! – drmonkeyninja