我有一个名为 Business 的模型(包含列描述、名称、视图等),它与模型“Rating”具有一对多关系。我想查询我的业务模型,以便它返回一个结果,检查名称或描述中是否存在搜索字符串,并首先按评级最高的业务排序,然后再查看业务。
我已经为搜索查询编写了代码。在下面找到:
$business = Business::with('images')
->where('isActive', true)
->where(function ($q) use ($query) {
$q->where('name', 'LIKE', '%' . $query . '%')
->orWhere('description', 'LIKE', '%' . $query . '%');
})->get();
我知道我可以像这样获取企业的平均评分:
$averageRating = Rating::where('business_id', $id)->avg('rating');
$business = Business::with(['images'])->get();
foreach ($business as $item) {
$item["rating"] = floor($averageRating);
}
那么,我如何根据最高收视率排序,然后是最高浏览量?
慕桂英3389331
吃鸡游戏
跃然一笑