无法从 express 中加入的 sql table 访问数据

Trouble accessing data from a joined sql table in express

我正在使用 express 和 postgreSQL 创建一个 api 来显示给定区域的餐厅评级、评论和美食。到目前为止,我已经成功地创建了将在邮递员中显示 sql table 的路由和控制器。

但是,当我试图利用 sql 中加入的 table 的数据时,我的问题就出现了。我知道如何使用 JOIN 在 sql 中指定我想要的数据,但我的问题是一旦我有了这些数据,我如何从加入的 table 中获取数据并使 api 发送一个使用精选数据进行响应。这是我的 tables:

第一个 table 是地区 table,第二个 table 是餐馆 table。他们都共享一个 area_id,我在第三个 table 中使用了这个 table,这是加入的 table。这是我特别想访问的table(右下角)中的城市名称...

这是我的 express controller 处理获取特定 area_id 的所有餐厅的请求:

const getRestaurantsByAreaId = (req, res, next) => {
  db.many(
    "SELECT * FROM restaurants JOIN areas ON areas.area_id = restaurants.area_id WHERE areas.area_id = $<area_id>",
    {
      area_id: req.params.area_id
    }
  )
    .then(restaurants => {
      res.status(200).send({
        area_id: req.params.area_id,
        name: '',
        total_restaurants: restaurants.length,
        restaurants
      });
    })
    .catch(err => console.log(err));
};

路由器端点:

areasRouter.get('/:area_id/restaurants', getRestaurantsByAreaId)

如您所见,我已查询 sql 数据库以创建连接的 table,但是在作为响应发送的对象中(.then 之后)我有'name' 的键 - 这里的值需要是加入的 table 中的 'manchester city centre'...但经过多次尝试我不知道该怎么做..

在邮递员中,我请求查看 area_id '1' 中的餐馆:http://localhost:9090/api/areas/1/restaurants

这是客户端从上面的代码接收到的内容..

所以除了最后一点之外一切正常,从加入的 table 中获取城市名称。

希望这不是一个菜鸟问题,但我是菜鸟呵呵。 感谢任何回复。

想通了。非常简单的解决方案,不知道为什么我错过了这个...

名称:餐厅[0].名称