針對此記錄的指定關聯,填充並傳回外部記錄。
GET /:model/:id/:association
如果指定的關聯是複數(「集合」),此操作會以 JSON 編碼的字典陣列(純 JavaScript 物件)形式傳回關聯記錄的列表。如果指定的關聯是單數(「模型」),此操作會以 JSON 編碼的字典形式傳回關聯記錄。
參數 | 類型 | 詳細資訊 |
---|---|---|
模型 | 包含模型的 識別名稱。 例如: 'purchase' (在 GET /purchase/47/cashier 中) |
|
ID | 父記錄的主鍵。 例如: '47' (在 GET /purchase/47/cashier 中) |
|
關聯 | 關聯的名稱。 例如: 'cashier' (在 GET /purchase/47/cashier 中) 或 'products' (在 GET /purchase/47/products 中) |
|
條件 | 除了基於特定屬性進行篩選之外,您還可以選擇提供一個 where 參數,其中包含 Waterline 條件 的 WHERE 子句,編碼為 JSON 字串。這讓您可以利用 contains 、startsWith 和其他子屬性條件修飾符,以進行更強大的 find() 查詢。例如: ?where={"name":{"contains":"theodore"}} |
|
限制 | 要傳回的最大記錄數(適用於分頁)。預設值為 30。 例如: ?limit=100 |
|
跳過 | 要跳過的記錄數(適用於分頁)。 例如: ?skip=30 |
|
排序 | 排序順序。預設情況下,傳回的記錄會依主鍵值以遞增順序排序。 例如: ?sort=lastName%20ASC |
|
選擇 | 要包含在結果中每條記錄的屬性,以逗號分隔列表指定。預設情況下,會選擇所有屬性。對於複數(「集合」)關聯屬性無效。 例如: ?select=name,age 。 |
|
忽略 | 要從結果中每條記錄排除的屬性,以逗號分隔列表指定。不能與 select 一起使用。對於複數(「集合」)關聯屬性無效。例如: ?omit=favoriteColor,address 。 |
填充執行購買 #47 的 cashier
`GET /purchase/47/cashier`
{
"name": "Dolly",
"id": 7,
"createdAt": 1485462079725,
"updatedAt": 1485476060873,
}
使用 jQuery
$.get('/purchase/47/cashier', function (cashier) {
console.log(cashier);
});
使用 Angular
$http.get('/purchase/47/cashier')
.then(function (cashier) {
console.log(cashier);
});
使用 sails.io.js
io.socket.get('/purchase/47/cashier', function (cashier) {
console.log(cashier);
});
使用 cURL
curl https://127.0.0.1:1337/purchase/47/cashier
您也可以填充集合。例如,要填充員工 #7 的 involvedInPurchases
GET /employee/7/involvedInPurchases
[
{
"amount": 10000,
"createdAt": 1485476060873,
"updatedAt": 1485476060873,
"id": 47,
"cashier": 7
},
{
"amount": 50,
"createdAt": 1487015460792,
"updatedAt": 1487015476357,
"id": 52,
"cashier": 7
}
]
- 在上面的第一個範例中,如果購買 #47 沒有
cashier
(即null
),則此操作將以 404 狀態碼回應。上述範例假設已啟用「rest」藍圖路由(或者您已將此藍圖操作綁定為可比較的 自訂路由),並且您的專案至少包含一個空的
Employee
模型以及一個Purchase
模型,並且Employee
具有關聯屬性:involvedInPurchases: {model: 'Purchase'}
,而Purchase
具有cashier: {model: 'Employee'}
。您可以透過執行以下操作快速實現此目的$ sails new foo $ cd foo $ sails generate model purchase $ sails generate model employee
...然後編輯
api/models/Employee.js
和api/models/Purchase.js
。