title: Relation and inverse relation not working together Adonis JS
body: <p>I have 3 model Country, State, City 
  country.js</p>
  
  <pre><code>  state () {
      return this.hasMany(State, 'id', 'country_id')
    }
  </code></pre>
  
  <p>state.js</p>
  
  <pre><code> city () {
      return this.hasMany(City, 'id', 'state_id')
    }
  </code></pre>
  
  <pre><code>  stateCountry () {
      return this.belongsTo(Country, 'country_id', 'id')
    }
  </code></pre>
  
  <p>city.js</p>
  
  <pre><code>cityState () {
      return this.belongsTo(State, 'state_id', 'id')
    }
  </code></pre>
  
  <p>Now I'm trying to get two type of data 
  1. From country > state > city ( normal relation )
  2. From city > state > country ( inverse relation )</p>
  
  <pre><code>case 1:
  const countries = await Country.query()
            .with('state.city')
            .fetch()
  </code></pre>
  
  <pre><code>case 2:
  const citties = await City.query()
        .with('cityState.stateCountry')
        .fetch()
  </code></pre>
  
  <p>Now whichever I run first will work and give me proper result however running second case throw 500 Error </p>
  
  <p>this.RelatedModel.query is not a function</p>
  
  <p>Now If I restart the server and run the second case it'll work and the first one will stop working. Kindly help we're facing this issue. look like some kind of caching in issue in a query or in model ORM. </p>