У меня есть структура n...n
для двух таблиц, makes
и models
. Пока проблем нет.
В третьей таблице (products
) вроде:
id
make_id
model_id
...
Моя проблема заключается в создании представления для продуктов с одним указанием make
внутри моего ProductsController
, содержащего только модели make:
Я думал, что это может сработать:
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
. Разработка таких сценариев в моих приложениях будет обычной задачей.
Заранее спасибо за любую подсказку!