Обзор вопросов:
Я хочу иметь возможность редактировать элемент (в данном случае ресторан) и позволить пользователю выбирать несколько вариантов (кухонь), которые используют таблицусоединения для доступа к списку опций / кухонь.
Подробности вопроса:
У меня есть 3 таблицы:
restaurants: id, name, address, phone...etc
cuisines: id, name, url_name
cuisine_connections: id, restaurant_id, cuisine_id
Как вы можете себе представитьтаблица kitchen_connections представляет собой список связей между кухнями и ресторанами.(Если у кого-то есть лучшее решение для этого, у меня все на слух).
model / restaurant.php:
var $hasMany = array(
'CuisineConnection' => array(
'className' => 'CuisineConnection',
'foreignKey' => 'restaurant_id',
'dependent' => false
)
);
model / kitchen.php
var $hasMany = array(
'CuisineConnection' => array(
'className' => 'CuisineConnection',
'foreignKey' => 'cuisine_id'
)
);
model / kitchen_connection.php
var $belongsTo = array(
'Cuisine' => array(
'className' => 'Cuisine',
'foreignKey' => 'restaurant_id',
'dependent' => false
),
'Restaurant' => array(
'className' => 'Restaurant',
'foreignKey' => 'restaurant_id'
)
);
Я пробовал это до сих пор:
controllers / restaurant_controller.php:
$this->set('cuisines', $this->Restaurant->CuisineConnection->Cuisine->find('list'));
admin_add.ctp:
echo $this->Form->input('cuisine_id', array('multiple'=>'checkbox'));