PHP SQL with NoSQL

From DreamFactory
Jump to: navigation, search
DreamFactoryTutorialsPHP SQL with NoSQL
Line 11: Line 11:
  
 
         foreach($content['resource'] as $k => $record){
 
         foreach($content['resource'] as $k => $record){
 +
                // filter by email
 
                 $params = [
 
                 $params = [
 
                       'filter' => 'email=' . $record['email']
 
                       'filter' => 'email=' . $record['email']
 
                 ];
 
                 ];
  
 +
                // get matching record from MongoDB service
 
                 $result = $get('mongodb/_table/contact', $params);
 
                 $result = $get('mongodb/_table/contact', $params);
                  
+
 
 +
                 // from_mongo_twitter can be a field in MySQL schema, but it doesn't have to be               
 
                 $record['from_mongo_twitter'] = $result['content']['resource'][0]['twitter'];
 
                 $record['from_mongo_twitter'] = $result['content']['resource'][0]['twitter'];
               
 
 
                 $event['response']['content']['resource'][$k] = $record;
 
                 $event['response']['content']['resource'][$k] = $record;
 +
 +
                // set this flag if you change the response content
 +
// you can also set $event['response']['status_code'] and $event['response']['content_type']
 
                 $event['response']['content_changed'] = true;
 
                 $event['response']['content_changed'] = true;
 
         }
 
         }
 
}
 
}
 
</pre>
 
</pre>

Revision as of 22:24, 23 February 2016

// script db._table.contact.get.post_process

// for each record in the MySQL db service, query the MongoDB service to get the Twitter handle for that contact

$content = $event['response']['content'];
$api = $platform['api'];
$get = $api->get;

if (isset($content['resource']) && !empty($content['resource'])) {

        foreach($content['resource'] as $k => $record){
                // filter by email
                $params = [
                       'filter' => 'email=' . $record['email']
                ];

                // get matching record from MongoDB service
                $result = $get('mongodb/_table/contact', $params);

                // from_mongo_twitter can be a field in MySQL schema, but it doesn't have to be                
                $record['from_mongo_twitter'] = $result['content']['resource'][0]['twitter'];
                $event['response']['content']['resource'][$k] = $record;

                // set this flag if you change the response content
		// you can also set $event['response']['status_code'] and $event['response']['content_type']
                $event['response']['content_changed'] = true;
        }
}