有一个酒店预订申请,我需要得到4个顶级预订酒店。
我有一个关系,在酒店预订.php
public function hotel(){
return $this->belongsTo('App\Hotel');
}
我可以通过以下查询实现我想要的:
Reservation::select(DB::raw('*, COUNT(hotel_id) as hotel_count'))->with('hotel')->groupby('hotel_id')->orderby('hotel_count', 'desc')->limit(4)->get();
以上查询是否有简化版本?
更新:db结构
2条答案
按热度按时间odopli941#
在你的
Hotel.php
模型在控制器中,您可以通过
t98cgbkg2#
看一看https://laravel.com/docs/5.6/eloquent-relationships#counting-相关模型