Querying multiple tables with joins

From DreamFactory
Jump to: navigation, search
DreamFactoryTutorialsQuerying multiple tables with joins
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
### Tutorial
+
GET related records in multiple tables from a SQL database. Try these examples in the 'API Docs' tab of the DreamFactory Admin Console or from the command line with cURL.
 
+
Query a SQL database for records in different tables joined by key. Try these examples in the 'API Docs' tab of the DreamFactory Admin Console or from the command line with cURL.
+
  
 
Note that passing * as the 'related' parameter will return data for all related tables.
 
Note that passing * as the 'related' parameter will return data for all related tables.
  
### API Endpoint
+
=== API Endpoint ===
  
 
<pre>GET https://{url}/api/v2/{api_name}/_table/{table_name}?related={foreign_key_field}</pre>
 
<pre>GET https://{url}/api/v2/{api_name}/_table/{table_name}?related={foreign_key_field}</pre>
  
### API Docs Screenshot
+
=== API Docs Screenshot ===
  
 
[[File:Swagger-related.png|1000px]]
 
[[File:Swagger-related.png|1000px]]
  
### Example - Fetch contact and contact_info_by_contact_id records in one API call.  
+
=== Example - Fetch contact and contact_info_by_contact_id records in one API call. ===
  
 
* Table name: contact
 
* Table name: contact
Line 19: Line 17:
 
* Request URL: <pre>https://foo.com/api/v2/db/_table/contact?related=contact_info_by_contact_id</pre>
 
* Request URL: <pre>https://foo.com/api/v2/db/_table/contact?related=contact_info_by_contact_id</pre>
  
### Example - Fetch contact, contact_info_by_contact_id, and contact_group_relationship_by_contact_id records in one API call.  
+
=== Example - Fetch contact, contact_info_by_contact_id, and contact_group_relationship_by_contact_id records in one API call. ===
  
 
* Table name: contact
 
* Table name: contact
Line 25: Line 23:
 
* Request URL: <pre>https://foo.com/api/v2/db/_table/contact?related=contact_info_by_contact_id%2C%20contact_group_relationship_by_contact_id</pre>
 
* Request URL: <pre>https://foo.com/api/v2/db/_table/contact?related=contact_info_by_contact_id%2C%20contact_group_relationship_by_contact_id</pre>
  
### Example - Fetch  contact and all related records by foreign key in one API call.
+
=== Example - Fetch  contact and all related records by foreign key in one API call. ===
  
 
* Table name: contact
 
* Table name: contact
 
* Related parameter in API call: <pre>*</pre>
 
* Related parameter in API call: <pre>*</pre>
 
* Request URL: <pre>https://foo.com/api/v2/db/_table/contact?related=*</pre>
 
* Request URL: <pre>https://foo.com/api/v2/db/_table/contact?related=*</pre>

Latest revision as of 20:13, 22 June 2016

GET related records in multiple tables from a SQL database. Try these examples in the 'API Docs' tab of the DreamFactory Admin Console or from the command line with cURL.

Note that passing * as the 'related' parameter will return data for all related tables.

API Endpoint

GET https://{url}/api/v2/{api_name}/_table/{table_name}?related={foreign_key_field}

API Docs Screenshot

Swagger-related.png

Example - Fetch contact and contact_info_by_contact_id records in one API call.

  • Table name: contact
  • Related parameter in API call:
    contact_info_by_contact_id
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?related=contact_info_by_contact_id

Example - Fetch contact, contact_info_by_contact_id, and contact_group_relationship_by_contact_id records in one API call.

  • Table name: contact
  • Related parameter in API call:
    contact_info_by_contact_id, contact_group_relationship_by_contact_id
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?related=contact_info_by_contact_id%2C%20contact_group_relationship_by_contact_id

Example - Fetch contact and all related records by foreign key in one API call.

  • Table name: contact
  • Related parameter in API call:
    *
  • Request URL:
    https://foo.com/api/v2/db/_table/contact?related=*