title: Sort database results by the polymorphic relationship in Laravel
body: <p>I have an issue for sorting results by polymorphic relation in Laravel . 
  Suppose we have two table like this : </p>
  
  <pre><code>users table : 
  - integer id
  - string  name 
  
  meta table : 
  - integer id
  - string  key
  - string  value 
  - string  owner_type
  - integer owner_id 
  </code></pre>
  
  <p>Relation between users table and meta table is polymorphic relation.
  So we have some users that each of them has some meta 
  This is a hypothetical example of database records ( with meta )</p>
  
  <pre><code>id      1
  name    "user1"
  meta : 
     id           3
     key          "test"
     value        "3"
     owner_type   "App\\User"
     owner_id     1
  
     id           2
     key          "some other key"
     value        "some other value"
     owner_type   "App\\User"
     owner_id     1
  
  id      2
  name    "user2"
  meta :
     id           3
     key          "test"
     value        "2"
     owner_type   "App\\User"
     owner_id     2
  </code></pre>
  
  <p>Now I want sort users results by meta value column where key is test .
  something like this : </p>
  
  <pre><code>$results = User::with(['meta' =&gt; function($q){
       $q-&gt;where('key' , 'test');
  }])-&gt;orderBy('meta.value')-&gt;get();
  </code></pre>
  
  <p>But of course the code above does not work</p>
  
  <p>What's your solution ?
  If we want get users from database and sort results by value of a meta  witch has a special key what we should do ? </p>
  
  <p>note : I want sort the data before getting results</p>