我知道解決方案很簡單,可能與可容納行爲有關,但我無法使其工作。沒有所有的嘗試CakePHP 2.0:顯示相關記錄
這是這種情況。我想顯示活動的詳細信息(例如會議)。每個事件發生在一個EventVenue中,每個EventVenue都位於一個國家。
所以在以下國家型號存在:
public $hasMany = array(
'EventVenue' => array(
'className' => 'EventVenue',
'foreignKey' => 'country_id'
))
在EventVenue模型屬於關聯關聯後
public $belongsTo = array(
'Country' => array(
'className' => 'Country',
'foreignKey' => 'country_id'
))
而且在事件模型hasOne關聯後
public $hasOne = array(
'EventVenue' => array(
'className' => 'EventVenue',
'foreignKey' => 'event_id',
))
我想要的是在事件中呈現的頁面上顯示國家名稱控制器。我確實得到了所有的Event和EventVenue數據,但是沒有檢索到相關的場地國家。
的數據通過以下方式獲取
$item = $this->Event->findBySlug($slug);
我怎麼也得從數據庫中獲取的國家名稱(如荷蘭)?我想是這樣的,但沒有奏效:
$item = $this->Event->findBySlug($slug,array(
'contain' => array(
'Event' => array(
'EventVenue' => array(
'Country'
)
)
)
)
你的event_venues表有一個country_id字段填充? – Dave 2012-07-10 17:53:09
是的,它確實有。 – 2012-07-11 07:55:59
你不需要包含它自己 - 也就是說你不應該在'contains'數組中有'Event' – Dave 2012-07-11 12:35:57