thinkphp 有bag_id值为1,2,3,4,5的5个,根据bag_id查询 bag_sku表中的数据,每个bag_id只查询3条,怎么用DB来写
时间: 2023-06-10 08:05:15 浏览: 88
可以使用以下代码来实现:
```
$bagIds = [1, 2, 3, 4, 5];
$limit = 3;
$bagSkuData = [];
foreach ($bagIds as $bagId) {
$bagSkuData[$bagId] = DB::table('bag_sku')
->where('bag_id', $bagId)
->limit($limit)
->get();
}
```
这段代码首先定义了一个包含所有 bag_id 值的数组 `$bagIds`,以及要查询的每个 bag_id 对应的数据条数 `$limit`。然后通过循环遍历每个 bag_id,利用 Laravel 的 DB 类(假设你使用的是 Laravel 框架)来查询对应的 bag_sku 表中的数据,并将其保存在一个 `$bagSkuData` 数组中,以 bag_id 作为键。
注意,为了保证每个 bag_id 查询的数据条数都相同,我们在查询中使用了 `limit` 方法限制了每个 bag_id 最多查询三条数据。
阅读全文