首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel 5:如何根据whereHas进行orderBy?

Laravel 5中,可以使用whereHas方法结合orderBy方法来实现根据关联模型的条件进行排序。

whereHas方法用于筛选具有指定关联关系的模型,可以传入关联关系的名称和一个闭包函数作为参数。闭包函数中可以使用where方法来添加关联模型的条件。

orderBy方法用于对查询结果进行排序,可以传入要排序的字段名和排序方式(升序或降序)作为参数。

下面是一个示例代码:

代码语言:txt
复制
$posts = Post::whereHas('comments', function ($query) {
    $query->where('status', 'approved');
})
->orderBy('created_at', 'desc')
->get();

上述代码中,假设有一个Post模型和一个Comment模型,它们之间存在一对多的关联关系。我们想要获取所有具有已批准评论的文章,并按照创建时间倒序排序。

在闭包函数中,我们使用where方法添加了一个条件,只选择statusapproved的评论。

最后,我们使用orderBy方法按照created_at字段进行倒序排序。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CDB):https://cloud.tencent.com/product/cdb_mysql
  • 云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 人工智能机器学习平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iothub
  • 移动推送服务(信鸽):https://cloud.tencent.com/product/tpns
  • 对象存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云游戏引擎(GSE):https://cloud.tencent.com/product/gse
  • 腾讯云直播(CSS):https://cloud.tencent.com/product/css
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券