【问题标题】:Laravel Raw Query and Eloquent ORM relationshipsLaravel 原始查询和 Eloquent ORM 关系
【发布时间】:2015-04-09 14:23:14
【问题描述】:

我创建了以下原始查询以对我网站中的帖子进行排名..

$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);

我现在面临的唯一问题是,通过使用原始查询,我无法再访问 eloquent orm 关系,所以在我的刀片中我不能再使用 post->user...

这有点糟糕,这意味着我必须重写我的一些刀片。

想问是否有人知道解决这个问题的魔法而不是两次编写我的代码.. :(

【问题讨论】:

    标签: php mysql laravel eloquent


    【解决方案1】:

    自己找到了答案:)

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

    【讨论】:

      猜你喜欢
      • 2015-01-21
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 2013-10-03
      • 2017-07-19
      • 1970-01-01
      相关资源
      最近更新 更多