我有两张桌子,第一张看起来像这样:
customer
----------
id
name
age
sex
另一张桌子是这样的:
phone
---------
id
customer_id
number
ext
phone_type
如果我想让客户知道他的所有电话号码,我会加入,然后可能会得到如下数据:
id name age sex number ext phone_type
---------------------------------------------------
1 Bob 36 M 555-4343 3 office
1 Bob 36 M 555-1111 mobile
2 Sue 23 F 123-4444 42 office
2 Sue 23 F 123-2222 home
2 Sue 23 F 123-1111 mobile
使用PHP,我希望将这些行转换成更可用的数据结构。与其有一个5行的关联数组,不如有一个2行的关联数组,一行用于Bob,一行用于Sue。然后,每一行都有一个名为“phone”的字段,该字段包含一个数组,其中包含客户的所有电话号码。
我已经看过PDO提供的所有fetch模式,但没有注意到任何有用的东西。我唯一能想到的是遍历返回数据集中的每一行并构建一个全新的数组。如果我有一个大的返回数据集,这似乎会变得非常低效。是否有PDO获取方法或有效的方法来解决此问题?