这是这个问题的 php 版本 server-side SQL library
是否有一个库可以将 sql 分解为完全服务器端逻辑?
作为一个例子,考虑这个基本查询SELECT table1column1, table2column1 FROM table1, table2 WHERE table1.id = 1 AND table2.table1id = table1.id;
,它比分解 慢约 5 倍code>SELECT
到 2 个 SELECT
中,假设 table2.table1id
不是 PRIMARY
。
我想要一个库,在这种情况下,它就是这样做的,将单个查询分成两个。它不必解析 sql 来了解人们想要什么,而是最好采用这种格式 basicJoin($table1columnsList, $table2columnsList, $table1name, $table2name, $table1id, $table2table1idColumnName)
.
这个函数会
SELECT
根据$table1id
(PRIMARY
)指定到数组中的table1
列SELECT
所有table2
ID(table2
的PRIMARY
)和table1id
s 到一个数组中并找到正确的table2
id- 使用上面的
table2
ID来SELECT
指定到数组(或table1
)中的table2
列数组)
在 php 中处理我的逻辑只会大大减少处理延迟和处理延迟峰值,但编写所有这些逻辑非常乏味。
它已经存在了吗?如果是的话,在哪里?
非常感谢!
最佳答案
如果您热衷于 OOP,可以使用 Propel - http://propelorm.org/它处理所有逻辑并为您提供诸如 joinWith()
和 getThis()
、setThat()
、save()< 等方法
.
看来 Propel 确实将查询分开,因此它可以提供多个可以单独保存的对象。
关于php - 服务器端 SQL 包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14801768/