title: Cannot read property 'findOne' of undefined in Node and Sequelize
body: <p>This is my admin_pages.js file i have done the migrations and models but i am getting this error.</p>
  
  <blockquote>
    <p>TypeError: Cannot read property 'findOne' of undefined
        at C:\users\gaffer\desktop\gaffercart\routes\admin_pages.js:80:21
        at Layer.handle [as handle_request] (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\layer.js:95:5)
        at next (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\route.js:137:13)
        at Route.dispatch (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\route.js:112:3)
        at Layer.handle [as handle_request] (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\layer.js:95:5)
        at C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:281:22
        at Function.process_params (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:335:12)
        at next (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:275:10)
        at Function.handle (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:174:3)
        at router (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:47:12)
        at Layer.handle [as handle_request] (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\layer.js:95:5)
        at trim_prefix (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:317:13)
        at C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:284:7
        at Function.process_params (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:335:12)
        at next (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:275:10)
        at C:\users\gaffer\desktop\gaffercart\index.js:70:3
        at Layer.handle [as handle_request] (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\layer.js:95:5)
        at trim_prefix (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:317:13)
        at C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:284:7
        at Function.process_params (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:335:12)
        at next (C:\users\gaffer\desktop\gaffercart\node_modules\express\lib\router\index.js:275:10)
        at C:\users\gaffer\desktop\gaffercart\node_modules\connect-flash\lib\flash.js:21:5</p>
  </blockquote>
  
  <pre><code>var express=require('express');
  var router=express.Router();
  var expressValidator = require('express-validator');
  var bodyParser=require('body-parser');
  var models=require('../models');
  
  // var mysql=require('mysql');
  // var Sequelize=require('sequelize');
  // var DataTypes=Sequelize.DataTypes;
  // var sequelize = exports.sequelize = module.parent.exports.sequelize;
  // let sequelize=new Sequelize();
  
  //Get Page model
  const Page = require('../models/page');
  
  /*
  * GET PAGES INDEX its correct but commiting it
  */
  
   router.get('/',function(req,res){
   //  Page.find({}).sort({sorting: 1}).exec(function(err,pages){
      res.render('admin/pages',{ 
        //pages:pages
      });
     });
   //});
  //  router.get('/admin/dashboard',function(req,res){
  //    res.render('admin/dashboard');
  //  });
  
  
  /*
  ** GET ADD PAGE
  */
   router.get('/add-page',function(req,res){
     var title="";
     var slug="";
     var content="";
  
  
     res.render('admin/add_page',{
        title:title,
        slug:slug,
        content:content
  
     });
  
   });
  
  //POST ADD page
   router.post('/add-page',function(req,res){
    //  console.log("alsdjlajsi")
  
    req.checkBody('title','Title must have a body.').notEmpty();
    req.checkBody('content','Content must have a body.').notEmpty();
  
    var title = req.body.title;
    var slug = req.body.slug.replace(/\s+/g, '-').toLowerCase();
    if(slug == " ")  
    {
      slug = title.replace(/\s+/g, '-').toLowerCase();
    }
    var content = req.body.content;
    var errors = req.validationErrors();
  
    //If there are Errors then define it on the same page
    if(errors){
      res.render('admin/add_page',{
        errors:errors,
        title:title,
        slug:slug,
        content:content
      });
    }
    /*
    * Have use Pages
    */
        else{
  
          models.Page.findOne({slug:slug}, function(err, page){
  
          if(page){
            req.flash('danger','Page slug Already Exist,');
            res.render('admin/add_page',{
  
              title:title,
              slug:slug,
              content:content
            });
          }
          else{
              var page = new Page({
                title:title,
                slug:slug,
                content:content,
                sorting:100
              });
              page.save(function(err){
                if(err) return console.log(err);
  
                req.flash('success','Page Added Successfully!!');
                res.redirect('/admin/pages');
              });
          }
        });
  
    }
  
  });
  //Exports
  module.exports=router;
  </code></pre>
  
  <p>This is mine Page models</p>
  
  <pre><code>'use strict';
  // var Sequelize=require('sequelize');
  
  module.exports = (sequelize, DataTypes) =&gt; {
    var page = sequelize.define('page', {
      title: DataTypes.STRING,
      slug: DataTypes.STRING,
      content: DataTypes.STRING,
      sorting:DataTypes.INTEGER
    }, {});
    page.associate = function(models) {
      // associations can be defined here
    };
    return page;
  };
  </code></pre>