在 TP5 中,你可以使用以下代码查询 `product` 表的所有数据,并按照 `typeid` 字段进行分组:
```php
use think\Db;
// 查询 product 表中的全部数据,并按照 typeid 字段进行分组
$result = Db::table('product')->group('typeid')->select();
// 输出查询结果
dump($result);
```
在上述代码中,我们使用了 TP5 的数据库操作类 `think\Db`,通过 `Db::table()` 方法指定要查询的表名为 `product`。然后,使用 `group()` 方法按照 `typeid` 字段进行分组,并使用 `select()` 方法查询全部数据。最后,使用 `dump()` 函数输出查询结果。
执行以上代码后,将会返回一个二维数组,其中每个子数组代表一个 `typeid` 分组,包含该分组中的全部数据。如果你需要进一步处理数据,可以使用 PHP 的数组函数进行操作。例如,可以使用 `array_reduce()` 函数将分组后的数据转换为以 `typeid` 为键名的关联数组:
```php
use think\Db;
// 查询 product 表中的全部数据,并按照 typeid 字段进行分组
$result = Db::table('product')->group('typeid')->select();
// 将分组后的数据转换为以 typeid 为键名的关联数组
$data = array_reduce($result, function ($carry, $item) {
$carry[$item['typeid']][] = $item;
return $carry;
}, []);
// 输出转换后的数据
dump($data);
```
在上述代码中,我们使用了 PHP 的 `array_reduce()` 函数将分组后的数据转换为以 `typeid` 为键名的关联数组。其中,第一个参数是要处理的数组,第二个参数是回调函数,用于将每个子数组添加到对应的键名下。最后,使用 `dump()` 函数输出转换后的数据。