使用数据库 relations/foreign 键 PHP 构建 JSON 对象

Build JSON object using database relations/foreign key PHP

我需要一些帮助。

基本上我需要做的是,它是数据库之间的简单映射关系 (FK),并将其作为 JSON(使用 php)。

比如我有那两个抽象数据库:

1:客户

+-------+-----------+----------+
|  id   |    name   |  car_id  |
+-------+-----------+----------+

2:汽车

+-------+-----------+----------+
|  id   |    model  |  price   |
+-------+-----------+----------+

我需要一个 JSON 比如:

{
    "customers": [{
        "id": "1",
        "name": "First Customer",
        "car": {
            "id": "1",
            "model": "sampleCar",
            "price:": "19.33"
        }
    }, {
        "id": "2",
        "name": "second Customer",
        "car": {
            "id": "2",
            "model": "betterCar",
            "price:": "99.33"
        }
    }]
}

我正在使用 MySQL 来保存这些数据,但是我 可以 更改数据库 - 我唯一 不能 变化就是PHP.

我的问题是: 有没有使用框架而不执行此操作的有效方法? (或者也许是做这件事的框架?)

谢谢!

这是一个简单的 JOIN 查询,然后获取循环创建适当的数据。

$sql = "SELECT c.id AS cus_id, c.name, car.id AS car_id, car.model, car.price
        FROM customer AS c
        LEFT JOIN car ON car.id = c.car_id";
$stmt = $pdo->prepare($sql);
$stmt->execute();
$customers = array();
while ($row = $stmt->fetch) {
    if ($row['car_id'] != null) {
        $car = array('id' => $row['car_id'],
                     'model' => $row['model'],
                     'price' => $row['price']);
    } else {
        $car = null;
    }
    $customers[] = array('id' => $row['cus_id'],
                         'name' => $row['name'],
                         'car' => $car);
}

$result = array('customers' => $customers);