2015-05-18 3 views
5

Wie kann ich die Rückgabedaten von einer Abfrage mit woHas? In meiner Abfrage muss ich die Benutzerdaten erhalten, welche ID existiert auf Interesse Tabelle, aber ich muss es mit der Datetime Spalte von Interesse sortieren. Aber die Rückfrage sortiert die Daten überhaupt nicht.orderBy on whereHas Abfrage in Laravel 4.2

Hier sind meine Code-Schnipsel für den Fall, dass es Ihnen helfen würde, mein Problem zu verstehen.

Modell (Name: User)

//***relationship***// 
public function interest(){ 
    return $this->belongsTo('Interest','id','interest_by'); 
} 

-Controller

$userInterested = User::whereHas('interest',function($q) use ($id) { 
    return $q->where('interest_on', $id) 
       ->orderBy('datetime'); 
}); 
$userQuery = $userInterested->get(); 
return $userQuery; 
+0

oh, ich verwalten zu bekommen Die Lösung für mein Problem, die Verwendung von join() im Query Builder, reichte aus m du brauchst. Aber, wenn Sie andere Lösungen haben, zögern Sie nicht, zu posten. – slverstone

Antwort

0

entfernen Rückkehr von wo hat und versuchen this.like

$userInterested = User::whereHas('interest',function($q) use ($id) { 
    $q->where('interest_on', $id) 
      ->orderBy('datetime'); 
})->get(); 
return $userInterested; 
0
$userInterested = User::whereHas('interest',function($q) use ($id) { 
    return $q->where('interest_on', $id); 
})->orderBy('datetime'); 
$userQuery = $userInterested->get(); 
return $userQuery; 
+0

hat es versucht und es funktioniert nicht, es versucht, _datetime_ auf ** users ** table statt ** interest ** zu suchen – slverstone