我有一個n...n
結構兩個表,makes
和models
。到目前爲止沒有問題。如何在CakePHP中的第三個n..n(hasAndBelongsToMany)關係中連接兩個表?
在第三個表(products
),如:
id
make_id
model_id
...
我的問題是創建包含一個specifi make
產品我ProductsController
內部的觀點只是我們做的模型:
我認爲這可以工作:
var $uses = array('Make', 'Model');
$this->Make->id = 5; // My Make
$this->Make->find(); // Returns only the make I want with it's Models (HABTM)
$this->Model->find('list'); // Returns ALL models
$this->Make->Model->find('list'); // Returns ALL models
所以,如果我想使用list
傳遞給我的視圖中創建單選按鈕我會做一個foreach()
我make
陣列找到所有車型的標題,並創建一個新的數組,並通過$this->set()
發送到視圖。
$makeArray = $this->Make->find();
foreach ($makeArray['Model'] as $model) {
$modelList[] = $model['title'];
}
$this->set('models', $models)
有沒有更簡單的方法來獲取列表而不強調make
陣列。在我的應用程序中開發這樣的場景將是一個普遍的任務。
在此先感謝您的任何提示!
好吧,我知道了,但是,我有品牌和型號之間的n ... N的關係。請問我寫的所有n ... N條件下,像makes.id = make_models.make_id和make_models.model_id = models.id ......等等......我的意思是...有一個HABTM ......可我用那個? – 2008-09-22 13:55:12