将列用作数组键

问题描述 投票:2回答:1

我想使用带有数字的列作为数组键。

我在fetchAll之后使用一个循环,但我想知道是否有可能使它变得直接。

我的查询:

$RequeteSql = $db->query("
    SELECT *
    FROM PouvoirsNumeros
        LEFT JOIN Pouvoirs ON (Pouvoirs.Pouvoir_Id = PouvoirsNumeros.Pouvoir_Id)
    WHERE
        PouvoirsNumeros.TypePerso = 'Ange'
    ORDER BY
        Pouvoirs.Pouvoir_Nom");
$ResultatRequete = $RequeteSql->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC);

有了它,我有:

(
    [0] => Array
        (
            [TypePerso] => Ange
            [Numero_Des] => 711
            [Pouvoir_Id] => 157
            ...
        )
...
)

我想用Pouvoir_Id替换密钥:

(
    [157] => Array
        (
            [TypePerso] => Ange
            [Numero_Des] => 711
            [Pouvoir_Id] => 157
            ...
        )
...
)

使用PDO::FETCH_GROUP|PDO::FETCH_ASSOC

(
    [157] => Array
        (
            [0] => Array
                (
                    [TypePerso] => Ange
                    [Numero_Des] => 711
                    [Pouvoir_Id] => 157
                    ...
                )
        )
...
)

是否可以直接通过PDO实现?

php pdo
1个回答
0
投票

认为这会起作用...

$RequeteSql = $db->query("
    SELECT Pouvoir_Id as ind, TypePerso, Numero_Des, Pouvoir_Id
    FROM PouvoirsNumeros
        LEFT JOIN Pouvoirs ON (Pouvoirs.Pouvoir_Id = PouvoirsNumeros.Pouvoir_Id)
    WHERE
        PouvoirsNumeros.TypePerso = 'Ange'
    ORDER BY
        Pouvoirs.Pouvoir_Nom");
$ResultatRequete = $RequeteSql->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);

我会找到骗子时将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.