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

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有啥方法,我去阅读下代码,或者大佬们给提供一个更好的逻辑,谢谢

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 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年前

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