如何使用INNER JOIN(PDO)获得类似CakePHP的结果?是否可以只使用PDO


How to get result like CakePHP, with INNER JOIN (PDO)? Is it possible using only PDO?

从这个查询中,我想使用PDO通过INNER JOIN获得这样的数据。CakePHP如何获得这样的数据?

SELECT * FROM users INNER JOIN group ON users.group_id = group.id

CakePHP将显示如下数组: Array Users |-- id |-- name |-- phone |-- group_id Group |-- id |-- name

PDO: Array |-- id |-- name |-- phone |-- group_id

如何像CakePHP一样拆分数据?PDO/MYSQL/PHP有可能吗?

默认行为是返回一个由模型名称(或别名)键控的关联数组。

如果只想处理字段名,可以使用Hash类。

例如,使用以下代码:

$results=$this->User->query("SELECT * FROM users INNER JOIN group ON users.group_id = group.id");
$users=Hash::extract($results, '{n}.Users');

$users应该看起来像:

Array
    |-- id
    |-- name
    |-- phone
    |-- group_id

查看Cookbook了解更多信息:哈希类。