我需要一些json_extract查询的帮助。我正在尝试从Cakephp 2执行以下查询:
select * from certificates_types where json_extract(params, '$.params.invoice_date') > '2018-05-15'
我使用Cakephp的查询来做到这一点:
$query = 'SELECT * FROM certificates_types WHERE json_extract("params", "$.params.invoice_date") >= "2008-01-01"';
$types = $this->CertificatesType->query($query);
我只得到相同的错误:“SQL错误:3141:参数1中的无效JSON文本到函数json_extract:”文档为空。“在位置0”。你们有些人曾经面对过这个问题吗?
答案 0 :(得分:0)
要使用sql函数,请尝试
$ query = $ this-> CertificatesType-> find();
$ query-> where(['CAST(JSON_UNQUOTE(JSON_EXTRACT(params,“ $。params.invoice_date”))as DATE)>'=>'2018-05-15'])