2015-02-09 37 views
0

爲了排名在我的網站上的帖子我已經創建了下面的原始查詢..Laravel原始查詢和雄辯的ORM關係

$posts = DB::table('posts') 
->select(DB::raw('*,(score/(NOW() - posts.created_at)) as `ordering_value`')) 
->orderBy('ordering_value', 'DESC') 
->orderBy('posts.created_at', 'DESC')->join('users', 'users.id', '=', 'posts.user_id->paginate(12); 

我面對現在唯一的問題是這樣的,通過使用原始查詢我無法再訪問雄辯的orm關係,因此在我的刀片中,我不能再使用post-> user ...

這有點吸吮,這意味着我必須重寫一些刀片。

想問如果有人知道一個神奇的去解決這個,而不是寫我的代碼兩次.. :(

回答

2

找到自己的答案:)

$posts = Post::selectRaw('*, (score/(NOW() - posts.created_at)) as `ordering_value`') 
      ->orderBy('ordering_value', 'DESC') 
      ->orderBy('created_at', 'DESC')->paginate(9); 
+0

你是男人。謝謝。 – Pathros 2016-03-03 21:52:20