Я пытаюсь настроить CakePHP как API REST для приложения, которое я пишу.CakePHP Вопрос о взаимоотношениях
У меня есть 3 таблицы:
dishes {
id,
name,
description
}
users {
id,
name,
email
}
dishes_users {
id,
user_id,
dish_id
}
я хотел бы его так, что когда кто-то посещает /users/1.xml, данные, которые получает возвращается только список «блюд», которые пользователь имеет в таблица «dish_users», я не хочу ничего от пользователей или тарелок, которые будут там, только идентификатор, имя и описание таблицы блюд.
в конце концов структура XML должен быть:
<dishes>
<dish id="1" name="whatever" description ="This is a description"/>
<dish id="2" name="whatever" description="This is another description"/>
</dishes>
Это в настоящее время отношения, я использую в модели пользователей:
var $hasAndBelongsToMany = array(
"Dish" => array(
'className' => 'Dish',
'joinTable' => 'dishes_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'dish_id',
'unique' => true,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
));
В контроллере я есть:
function view($id) {
$dishes = $this->User->findAllById($id);
$this->set(compact('beers'));
}
Это дает мне то, что я хочу, но это также дает мне много вещей, которые я не хочу. Все, что мне нужно, это список блюд.
Спасибо за любую помощь, это заставило меня гатьки.