我有一个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