我有 3 张桌子:
用户[id,名称,用户名,密码,角色]
事件[id,日期,位置,名称]
参与者[id, userId, eventId]
我想选择给定用户参与的所有事件。为此,我创建了一个 sql 查询,我对其进行了测试并返回了所需的结果。
SELECT * FROM event
INNER JOIN participant ON participant.eventId = event.id
WHERE participant.userId = $id
在此之后,我尝试将它变成一个 zend 请求,根据该站点的其他帖子应该可以工作。
public function getEvents($id)
{
$db = Zend_Db_Table::getDefaultAdapter();
$select = $db->select();
$select->from('event')
->joinInner('participant','participant.eventId = event.id')
->where('participant.userId = ?', $id);
$res = $db->query($select)->fetchAll();
return $res;
}
我使用“PDO_MYSQL”作为适配器,插入表、选择整个表或只选择特定行没有任何问题。但是上面的代码似乎做了一个我想要的简单的 fatchall() 。无论我尝试对其进行更改,它总是返回事件表内容。
我的问题是:有谁知道为什么会发生这种情况?