Сценарий:
3 tables:
restaurants
cuisines
features
2 join tables:
cuisines_restaurants
features_restaurants
Вопрос:
Каков наилучший способ передачи данных для одного ресторана из моего контроллера в представление, которое включает в себя не только данные ресторана, но также кухни и функции, которые он имеет.
У меня это работает с этим:
$restaurant = $this->Restaurant->find('all', array('conditions' => array('Restaurant.id' => $id)));
$this->set('restaurant', $restaurant);
И я называю это так:
echo "<span class='label'>Name:</span> " . $restaurant[0]['Restaurant']['name'] . "<br />";
echo "<span class='label'>Cuisine:</span> ";
$cuisineList = "";
foreach($restaurant[0]['Cuisine'] as $cuisine) {
$cuisineList .= $cuisine['name'] . ", ";
}
echo substr($cuisineList,0,-2) . "<br />";
(и повторите для функций)
Но это кажется излишним, так как во всех уроках Cake, которые я вижу, метод view в контроллере просто имеет:
$this->set('restaurant', $this->Restaurant->read(null, $id));
Тогда они называют это так:
echo $restaurant['Restaurant']['name'];
...etc
Опять же - это работает - я просто хочу знать, есть ли лучший способ - способ, которым я сейчас занимаюсь, кажется неаккуратным по сравнению со всеми другими приятными вещами, которые Cake делает для меня! :)