orderBy在Laravel 4.2中查询whereHas

时间:2015-05-18 02:34:46

标签: php laravel orm eloquent

如何使用 whereHas 对查询中的返回数据进行排序?在我的查询中,我必须获取兴趣表中存在ID的用户数据,但我需要使用兴趣中的 datetime 列对其进行排序。但是,返回查询根本不对数据进行排序。

这是我的代码片段,以防它帮助您理解我的问题。

模型(名称:用户)

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

控制器

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

2 个答案:

答案 0 :(得分:0)

从哪里删除return并尝试this.like

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

答案 1 :(得分:0)

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