当前位置: 首页 > 后端技术 > PHP

带有查询列表限制条目数的laravel

时间:2023-03-30 05:25:41 PHP

1。需求,查询文章列表,文章列表下评论。但是,每篇文章只需要找到2条评论(一篇文章可能有数百条评论)。2.实现配置关联模型//--------------------Article模型的关联表配置如下-------------------------------publicfunctioncomments(){return$this->hasMany('Modules\Type\Entities\comments','article_id','id')->select(['id','name'])->limit(2);//这里只限制了2条评论,select()也限制只查询评论的id和name}代码实现$articles=Article::all();//查询条件对应的文章$articles->each(function($articles){$articles->load('comments');});//为每篇文章加载对应的评论关系return$articles;3.总结就是使用each循环遍历每篇文章,然后使用load()方法加载每篇文章的LaravelModel模型配置。注意这里只能使用load来加载评论配置。PS(测试其他类似load方法的关联配置没有预期效果)虽然每篇文章都进行一次查询,比较老套和繁琐,但是可以满足这种特殊的需求。4.参考Laravel官方Github贡献者,他们给出的答案saiddiscussionhttps://github.com/laravel/framework/issues/18014