title: BookshelfJs failing to bring in nested relationship on create
body: <p>Let's say we have a Join table <code>vehicle_inspections</code> and another join table <code>inspection_actions</code>, as well as basic tables for <code>actions</code>, <code>vehicles, and</code>inspections`.</p>
  
  <p>Lets say I desire the following DB entries:</p>
  
  <pre><code> vehicles
   ----------------------------
   id        make
   ----------------------------
   1         Toyota
  
  
  
  actions
  -------------------------------
  id        description
  -------------------------------
  2         Check Tire Pressue
  
  inspections
  -------------------------------
  id        location        date
  -------------------------------
  3         New York      tomorrow
  
  vehicle_inspections
  --------------------------------
  vehicle_id      inspection_id   
  --------------------------------
  1                3
  
  inspection_actions
  --------------------------------
  inspection_id     action_id
  --------------------------------
  3                 2
  </code></pre>
  
  <p>and the following bookshelf classes</p>
  
  <p>inspection_actions.js</p>
  
  <pre><code>(function () {
      'use strict';
       var Repository = require('../repository');
       module.exports = Repository.Model.extend({
         tableName: 'inspection_actions',
       });  
  })();
  </code></pre>
  
  <p>vehicle_inspections.js  </p>
  
  <pre><code>(function () {
      'use strict';
       var Repository = require('../repository');
  
       module.exports = Repository.Model.extend({
         tableName = 'vehicle_inspections',
         inspection: function () {
           return this.belongsTo(require('inspection'));
         },
         fetchOrCreate: function(vehicleId, inspectionId, options) {
           var self = this;
           return self.query(function (qb) {
             qb.where({
               vehicle_id: vehicleId,
               inspection_id: inspectionId
             });
           )}.fetch(options || {}).then(function (model) {
             if (!model) {
               model.save({
                 vehicle_id: vehicleId,
                 inspection_id: inspectionId
               });
             return model;
           };
         }
       };
  });
  </code></pre>
  
  <p>inspection.js</p>
  
  <pre><code>...
  module.exports = Repository.Model.extend(_.extend({
     tableName: 'inspections',
     actions: function () {
       return this.hasMany(require('./inspection-action'));
     }
  }));
  </code></pre>
  
  <p>And a route:</p>
  
  <pre><code> new VehicleInspection().fetchOrCreate(req.params.vehicle_id, req.params.inspection_id, {withRelated: ['inspection.actions']})
   .then(function (vehicleInspection) {
      var inspection = vehicleInspection.related('inspection');
      console.log( inspection);
      console.log(inspection.related(actions);
    })
  </code></pre>
  
  <p>The inspection console log prints out the correct inspection, however, irrelevantly of what is in the database the second console.log prints out an empty result</p>
  
  <pre><code> { length: 0,
    models: [],
   _byId: {},
     ...
    targetIdAttribute: 'id',
   foreignKey: undefined,
   parentId: undefined,
   parentTableName: 'tasks',
   parentIdAttribute: 'id',
   parentFk: undefined } }
  </code></pre>
  
  <p>This "bad" behaviour only occurs the first time a projectTasks entry is being created. What appears to be happening is that the inspection_action table is not being populated through the nested <code>withRelated</code>. How could I get this working nested create working?</p>