Laravel 原始查询和 Eloquent ORM 关系
Laravel Raw Query and Eloquent ORM relationships
我创建了以下原始查询,以便对我网站中的 post 进行排名..
$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->用户...
这有点糟糕,这意味着我必须重写我的一些刀片。
想问问有没有人知道绕过这个而不是写我的代码两次的魔法.. :(
自己找到了答案:)
$posts = Post::selectRaw('*, (score / (NOW() - posts.created_at)) as `ordering_value`')
->orderBy('ordering_value', 'DESC')
->orderBy('created_at', 'DESC')->paginate(9);
我创建了以下原始查询,以便对我网站中的 post 进行排名..
$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->用户...
这有点糟糕,这意味着我必须重写我的一些刀片。
想问问有没有人知道绕过这个而不是写我的代码两次的魔法.. :(
自己找到了答案:)
$posts = Post::selectRaw('*, (score / (NOW() - posts.created_at)) as `ordering_value`')
->orderBy('ordering_value', 'DESC')
->orderBy('created_at', 'DESC')->paginate(9);