请教一个按比例取数据库数据的问题

1.数据库

两张表(实际数据两表字段名称基本都不一致,现在随意给几个字段,不影响这个需求)
数据表1:live_tian
字段:id ,name,description
数据表2:live_zhang
字段:id ,name,description

2.需求

两张直播表,分别是从合作公司拿来的直播数据,现在想在一个页面显示两个表里的数据,比例是10:6,就是这个页面显示第一个公司的10条,显示第二个公司6条,一个数据不够了,拿另一个补齐,涉及分页

3.我自己的操作


(1).计算出两个数据各能分的页数
(2).按图片的这个逻辑处理边界数据

4.需要解决问题

问题:目前实现起来if else过多,中间在掺杂一些其他逻辑,代码阅读起来太差了

目前这个项目用到的不是laravel,一个基本算是原生php的框架,我想请教下能否直接从mysql数据库(原生sql语句)上解决,或者laravel有啥方法,我去阅读下代码,或者大佬们给提供一个更好的逻辑,谢谢

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 5

首先分别考虑在一个表的情况,其实做分页无非也是每次翻页就查询一次数据,那就可以这样理解,第一次首页10条数据,数组下标是0-9,条数是10,第二次是下标10-19,条数也是10,每次从前一组数据的最大下标+1的位置开始查,例如:

//offset 设置从哪里开始查询,limit 设置想要查询多少条数据
Model::offset(0)->limit(10)->get();

还可以参考一下分页:分页
那如果是两张表呢,就可以分别按照分页查询的方式,一个查10条,一个查6条,然后组成一个数组/集合返回前端就可以了。

2年前 评论
chengming (楼主) 2年前
playmaker 2年前
zhangwuphp 2年前
chengming (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!