当前位置: 首页 > news >正文

laravel with 查询列表限制条数

1.需求

需求,查询文章列表,以及文章列表下的评论。但是每篇文章评论只需要查询出2条即可(一篇文章可能有几百个评论)。

2.实现

  1. 配置关联模型
//---------------------Article模型的关联表配置如下----------------------------------
public function comments(){
        return $this->hasMany('Modules\Type\Entities\comments', 'article_id', 'id')
        ->select(['id','name'])->limit(2);
        //这里就限制了只查询2条评论,同时select()也限制只查询comments的id 和name
        }
  1. 代码实现
$articles=Article::all();
//查询出对应条件的文章

$articles->each(function ($articles) {
            $articles->load('comments');
        });
//对每个文章进行加载对应的评论关联关系

return $articles;

3.总结

  • 主要是使用了each去做循环每一条文章,然后对每一条文章使用load()方法去加载Laravel的Model模型配置。注意这里只能使用load去加载这个comments配置。PS(测试过其他类似于load方法的关联配置没有想要的效果)
  • 虽然对每篇文章执行了一次查询,很老套和显得笨重,但是能实现这个特殊的需求。

4.参考

参考了Laravel官方Github贡献者,themsaid讨论给出的答案issuehttps://github.com/laravel/framework/issues/18014
Laravel贡献者给出的答案

相关文章:

  • 进程与线程(三)——进程/线程间通信
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • c/c++再学习:查找算法了解
  • MFC限制edit控件的字符输入长度
  • Developing avb
  • 12
  • 「镁客早报」苹果HomePod音箱国行版明年国内推出,售价2799;一加与英国最大移动运营商EE达成战略合作...
  • HomeBrew及HomeBrew Cask的简介和使用
  • Python开发环境配置
  • 什么是Word Embeddings
  • 深度学习【一】理解神经网络
  • 微服务核心架构梳理
  • PostgreSQL checksum
  • 关于在vim中的查找和替换
  • Vuex的初探与实战小结
  • 时间复杂度分析经典问题——最大子序列和
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【技术性】Search知识
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 0x05 Python数据分析,Anaconda八斩刀
  • 30天自制操作系统-2
  • ECS应用管理最佳实践
  • Hibernate最全面试题
  • iOS | NSProxy
  • JavaWeb(学习笔记二)
  • js对象的深浅拷贝
  • js如何打印object对象
  • Median of Two Sorted Arrays
  • Redis 懒删除(lazy free)简史
  • Spring Cloud Feign的两种使用姿势
  • 面试遇到的一些题
  • 如何用vue打造一个移动端音乐播放器
  • 详解移动APP与web APP的区别
  • 异步
  • 优化 Vue 项目编译文件大小
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #NOIP 2014#Day.2 T3 解方程
  • $L^p$ 调和函数恒为零
  • (9)目标检测_SSD的原理
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (转)setTimeout 和 setInterval 的区别
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • . Flume面试题
  • .NET 分布式技术比较
  • .net和jar包windows服务部署
  • .Net小白的大学四年,内含面经
  • .net中的Queue和Stack
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @ComponentScan比较
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...