使用连接从API返回数据

时间:2016-07-15 09:17:57

标签: angularjs laravel api-design

我使用Laravel创建了一个基本API,目前正在使用Angular构建前端。我正在努力决定的是如何/在哪里以id的形式交叉参考数据及其实际价值。

当前从API返回任务对象,如下所示:

{  
   "id":1,
   "task_owner":7,
   "client":2,
   "campaign":17,
   "created_by":1,
   "title":"Finalise agenda for Call.",
   "notes":null,
   "viewed":0,
   "priority":1,
   "start_date":"2016-08-10",
   "end_date":"2016-08-11",
   "sub_tasks":[  
      {  
         "id":1,
         "title":"my first subtask"
      }
   ]
}

在显示任务时 - 我显然想要显示客户端,广告系列,created_by等的实际值,而不是ID。但是我还需要id来更新这些表,以及过滤器(即仅显示client_id = 2的任务)。

那么我应该交叉引用并发回这些数据并作为我的任务对象的一部分 - 或者我应该首先在单独的API调用中提取所有用户,客户端和广告系列数据,然后在前端进行交叉引用?

1 个答案:

答案 0 :(得分:0)

Eloquent框架在查询时是一个强大的工具。我会使用with()函数来包含您想要包含的内容。

Task::with('task_owner', 'campaign', 'created_by')->get();

当然,这需要在任务模型中正确设置关系