如何使用 PHP PicoDb 查询生成器执行包含 DATE_FORMAT 语法的查询?
How to perform a query that contains DATE_FORMAT syntax with PHP PicoDb query builder?
我正在一个以 PicoDb 数据库查询构建器为背景的系统 (Kanboard) 中编码。所以,我需要执行特定的 MySQL 查询。
我的table是这样的:
id, title, date_moved
int, varchar, UNIX_TIMESTAMP
所以,我想从'date_moved'列中减去当前的时间戳时间。之后,我想在几天内转换结果。
一切正常,但是当我在 MySQL 客户端中执行查询时在系统之外。
SELECT title, DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()- date_moved), ‘%d’) AS ‘Age’
FROM
tasks
WHERE
project_id = HERE_COMES_THE_PROJECT_ID
ORDER BY
Age
但是,有人知道如何通过 PicoDB 执行它吗?
关于 PicoDB 的信息
如果可以准确地满足您的需求,请尝试以这种方式构建查询。
$db->table('tasks')->subquery('DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()- date_moved), ‘%d’)', 'Age')->buildSelectQuery();
那么你应该尝试执行这样的查询。
$db->table('tasks')->subquery('DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()- date_moved), ‘%d’)', 'Age')->eq('project_id', 42)->asc('Age')->findAll()
我正在一个以 PicoDb 数据库查询构建器为背景的系统 (Kanboard) 中编码。所以,我需要执行特定的 MySQL 查询。
我的table是这样的:
id, title, date_moved
int, varchar, UNIX_TIMESTAMP
所以,我想从'date_moved'列中减去当前的时间戳时间。之后,我想在几天内转换结果。
一切正常,但是当我在 MySQL 客户端中执行查询时在系统之外。
SELECT title, DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()- date_moved), ‘%d’) AS ‘Age’
FROM
tasks
WHERE
project_id = HERE_COMES_THE_PROJECT_ID
ORDER BY
Age
但是,有人知道如何通过 PicoDB 执行它吗?
关于 PicoDB 的信息
如果可以准确地满足您的需求,请尝试以这种方式构建查询。
$db->table('tasks')->subquery('DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()- date_moved), ‘%d’)', 'Age')->buildSelectQuery();
那么你应该尝试执行这样的查询。
$db->table('tasks')->subquery('DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()- date_moved), ‘%d’)', 'Age')->eq('project_id', 42)->asc('Age')->findAll()