【发布时间】:2017-12-31 11:07:24
【问题描述】:
我使用的是 MySQL 5.7.19
我正在尝试检索如下所示的类
class Task
{
public $title;
public $done;
}
title 和 done 属性保存在 JSON 列中。
我用来检索的代码如下:
$tasksSql = <<<'EOT'
SELECT JSON_UNQUOTE(JSON_EXTRACT(data, '$.title')) AS title,
JSON_EXTRACT(data, '$.done') AS done
FROM Tasks WHERE TaskListId = ?;
EOT;
$tasksStatement = $connection->prepare($tasksSql);
$tasksStatement->execute([$id]);
$tasksStatement->setFetchMode(PDO::FETCH_CLASS, "Task");
$taskList->tasks = $tasksStatement->fetchAll(PDO::FETCH_CLASS, "Task");
它会填写所有字段,但 done 属性会设置字符串值“true”或“false”而不是布尔值。
【问题讨论】:
-
你得到什么字符串值? “1”还是“真”?
-
“真”或“假”
标签: php mysql json pdo mysql-json