代码之家  ›  专栏  ›  技术社区  ›  dallin

从子数组的连接中输入一对多信息

  •  1
  • dallin  · 技术社区  · 7 年前

    我有两张桌子,第一张看起来像这样:

    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获取方法或有效的方法来解决此问题?

    0 回复  |  直到 7 年前