我为PostgreSQL转换了ssp.class.php,效果很好。但是,我需要为其添加ARRAY支持。
我希望有人可以给我一些指导/提示,以实现此目的的最佳方法,并且/或者在可能的情况下提供一些示例代码。我会很感激。
您可以在此处获取修改后的文件:ssp.class.pg.php
关于DataTables服务器端处理:https://datatables.net/examples/data_sources/server_side(带有示例)。
答案 0 :(得分:0)
我参加聚会有点晚了,但是我在Google搜索答案时发现了这个问题,并想发表我的想法来帮助下一个可能偶然发现此问题的人。
注意:我正在使用引用的ssp.class.pg.php
我的解决方案-使用Heredoc
使用heredoc,您可以使用数组函数,内部和外部联接,子查询等更好地定义查询。
在我的示例中,我有一个PostgreSQL表,其中包含一个名为properties的jsonb列。我想从last_seen键中选择值。
使用Heredoc,我将表定义为查询,该查询将以列的形式返回用户最后一次看到的日期值。
$table = <<<EOT
(
SELECT
id,
unique_id,
properties->>'last_seen' as last_seen
FROM users
WHERE token = '$token'
) temp
EOT;
然后,我可以使用表查询返回的列为SSP PG类定义列。
$columns = array(
array( 'db' => 'id', 'dt' => 'id' ),
array( 'db' => 'unique_id', 'dt' => 'unique_id' ),
array( 'db' => 'last_seen', 'dt' => 'last_seen' ));
最后,我将使用定义的变量来调用简单函数。
$data_result = $ssp_pg->simple($request, $conn, $table, $primaryKey, $columns);