用对象替换JSON响应值ID。 [CakePHP 3]

时间:2017-02-15 20:45:15

标签: json rest api cakephp cakephp-3.0

很抱歉,如果标题听起来很混乱,我会尽力而为。

现在我有这个:

{
  "success": true,
  "data": {
    "id_reservation": 101,
    "id_venue": 2,
    "id_user": 67
  }
}

从我的API获取预订时,我正在寻找的是

{
  "success": true,
  "data": {
    "id_reservation": 101,
    "venue": {
     "id_venue": 2,
     "venue_name": "TEST",
     "location": "TEST",
     "venue_type": "TEST"
     },
     "id_user": 67
  }
}

我希望在我的JSON响应中使用ID的对象,我怎样才能用CakePHP 3实现这个目标?

2 个答案:

答案 0 :(得分:0)

“Venue”看起来像一张相关的桌子。因此,您需要查找请求所有相关模型。要确保接收您想要的内容,请在查找中加入并在“字段”中设置您想要的内容。

答案 1 :(得分:0)

我猜你正在使用\ Cake \ ORM \ Query或对象VenuesTable获取Venue模型。

您还需要加载关联“预订和用户”,您应该阅读以下文档:Loading Associations

你必须使用这样的contains方法:

$venueEntity = $this->Venues
    ->find()
    ->contain([
        'Reservations',
        'Users',
    ])
    // then your conditions
    ->where(['venue_id' => $venueId])
    ->first();