标签: php sql pdo resultset
我正在开发一个项目,该项目的一部分要求我将我的一些sql结果转换为一个类对象数组。
为方便起见,我更喜欢将我的数组键设置为sql行的主键,以便我可以快速访问它们。
我现在正在这样做的方法是将每个对象重新映射到一个新数组,然后我手动将该键设置为$ object-> id。有什么方法我可以让pdo在获取初始数组时这样做,所以我不需要做我正在做的事情。
答案 0 :(得分:1)
嗯,你可以这样做:
array_map( 'reset', $stmt->fetchAll( PDO::FETCH_GROUP|PDO::FETCH_CLASS, 'className' ) );
但这可能不比你现在做的更漂亮。另请参阅here和here。
或者可能涉及PDO::FETCH_KEY_PAIR?
PDO::FETCH_KEY_PAIR