我正在使用 MySQL 5.7.19
我正在尝试检索如下所示的类
class Task
{
public $title;
public $done;
}
和属性保存在 JSON 列中title
。done
我用来检索的代码如下所示:
$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”,而不是布尔值。