title: Including models from a findOne query in Sequelize returns error
body: <p>I am trying to get a venue by it's ID from the database using Sequelize as an ORM. I've set up the models in a belongsTo association. So 1 venue can have 1 phone number as well as 1 address. I did read the documentation of Sequelize located on their website but without finding a fix for this issue. Below I've provided you with the Query, the error message and the way that the models are connected with each other.</p>
  
  <p>This is the query:</p>
  
  <pre><code>function findById(id) {
    return this.findOne({
      where: { id: id },
      include: [
        {
          model: models.Address,
          as: "venue_address"
        },
        {
          model: models.PhoneNumber,
          as: "phone_number"
        }
      ]
    }).then((venue) =&gt; {
      if (!venue) {
        return utils.createError(404, `Venue with id ${id} does not exist`);
      }
      return venue;
    });
  }
  </code></pre>
  
  <p>Sequelize is returning the following error:</p>
  
  <pre><code>TypeError: Cannot read property 'getTableName' of undefined
      at Function._validateIncludedElement (/Users/kevin/Tabbs/API-Mysql/node_modules/sequelize/lib/model.js:465:30)
      at options.include.options.include.map.include (/Users/kevin/Tabbs/API-Mysql/node_modules/sequelize/lib/model.js:395:37)
      at Array.map (&lt;anonymous&gt;)
      at Function._validateIncludedElements (/Users/kevin/Tabbs/API-Mysql/node_modules/sequelize/lib/model.js:390:39)
      at Promise.try.then.then (/Users/kevin/Tabbs/API-Mysql/node_modules/sequelize/lib/model.js:1576:14)
      at tryCatcher (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:512:31)
      at Promise._settlePromise (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:569:18)
      at Promise._settlePromise0 (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:614:10)
      at Promise._settlePromises (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:693:18)
      at Async._drainQueue (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/async.js:133:16)
      at Async._drainQueues (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/async.js:143:10)
      at Immediate.Async.drainQueues [as _onImmediate] (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/async.js:17:14)
      at runCallback (timers.js:756:18)
      at tryOnImmediate (timers.js:717:5)
      at processImmediate [as _immediateCallback] (timers.js:697:5)
  Unhandled rejection Error: Transaction cannot be rolled back because it has been finished with state: commit
      at Transaction.rollback (/Users/kevin/Tabbs/API-Mysql/node_modules/sequelize/lib/transaction.js:85:35)
      at models.Address.createAddress.then.catch (/Users/kevin/Tabbs/API-Mysql/server/routes/venue.js:57:13)
      at tryCatcher (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:512:31)
      at Promise._settlePromise (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:569:18)
      at Promise._settlePromise0 (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:614:10)
      at Promise._settlePromises (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/promise.js:689:18)
      at Async._drainQueue (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/async.js:133:16)
      at Async._drainQueues (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/async.js:143:10)
      at Immediate.Async.drainQueues [as _onImmediate] (/Users/kevin/Tabbs/API-Mysql/node_modules/bluebird/js/release/async.js:17:14)
      at runCallback (timers.js:756:18)
      at tryOnImmediate (timers.js:717:5)
      at processImmediate [as _immediateCallback] (timers.js:697:5)
  </code></pre>
  
  <p>The models are associated like this:</p>
  
  <pre><code>models.Venue.belongsTo(models.PhoneNumber, {
        as: "phone_number",
        onDelete: "CASCADE",
        foreignKey: { allowNull: false }
      });
      models.Venue.belongsTo(models.Address, {
        as: "venue_address",
        onDelete: "CASCADE",
        foreignKey: { allowNull: false }
      });
  </code></pre>
  
  <p>This is what I am receiving back when I do not include anything:</p>
  
  <p><a href="https://i.stack.imgur.com/LvSq0.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/LvSq0.png" alt="enter image description here"></a></p>
  
  <p>Appreciate all the help fixing this issue!</p>