选择表格行作为对象属性

时间:2015-07-10 02:09:51

标签: php mysql json pdo

pdo可以将表行作为对象返回,并且该对象的属性是否可以是使用SELECT的另一个表上JOIN的结果?

$STH = $this->Con->query("SELECT table1.*, table2.* AS table2row FROM table1 INNER JOIN table2 ON table1.table2_id = table2.id");

$resultObj = $STH->fetchAll(PDO::FETCH_OBJ);

我已经能够从table2中提取单个列,但我希望整行作为属性存在。

另外,我可以SELECT使用相同的方法将另一个表行作为对象属性并使用第二个表连接吗?

INNER JOIN table3 ON table1.table3_id = table3.id

结果是JSON。

return json_encode($resultObj, JSON_NUMERIC_CHECK)

[
    {
        "id": 1, "title": "Table 1 title data", "table2": 1, "table3": 100, 
        "table2row": {
            "id": 1,
            "title": "Table 2 row title data"
        },
        "table3row": {
            "id": 100,
            "title": "Table 2 row title data"
        }
    },
    {
        ...
    }
]

我理解两个SELECT语句和一个foreach可以达到相同的结果,但我想使用一个查询来执行此操作,如果它对我来说效率更高写和要执行的服务器。

0 个答案:

没有答案