使用数据库 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);
我需要一些帮助。
基本上我需要做的是,它是数据库之间的简单映射关系 (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);