0

我目前正在使用 CakePHP 为事件构建一个 REST api。现在我有一个事件表和一个包含 event_id 和 user_id 列的 event_attendees 表。目前,当我响应用户请求发回所有事件的列表时,每个事件都有其详细信息的字段,并且通过与用户模型链接的模型,所有参加它的用户的列表。但是,我希望每个活动也有“参加”字段,该字段指示当前用户是否正在参加活动(这显然可以通过查看 event_attendees 表来确定)。因此,每当我在 Event 模型上调用 findAll() 时,我都希望每个事件也具有“参加”字段。

任何帮助将不胜感激。

4

1 回答 1

0

如果您想远离全局变量,最好的办法是检索当前用户的事件列表和事件列表。两个循环,您将突出显示用户正在参加的事件列表。

例子:

# In the user model
class User extends AppModel {
    var $hasAndBelongsToMany = array('Event' => array('class' => 'Event'));
}

# In the controller
$allEvents = $this->Events->find('all');
$userAndEvents = $this->User->findForId($userId);

这假设您的用户和事件之间存在多对多关系。换句话说,一个用户可以参加许多活动,而一个活动可以由许多用户参加。

于 2013-01-16T21:07:51.610 回答