如何将SQL查询编写到符合运算符条件的support JSON? ,?|,?&。
id : 12,
name: 'Harry Pottor',
type: ['Fiction', 'Horror', 'Adventure' ]
在Yii中,当我用?&
运算符编写JSON数组检查查询时,给出了错误。此查询在pgAdmin
SELECT id, name
FROM books
WHERE
type ?& array['Fiction', 'Horror']
$commandSql = $connection->createCommand($sql);
但?
标记运算符替换为$ 1,即转换为绑定值。
如何在Yii中执行此类查询?
答案 0 :(得分:2)
我面临同样的问题
SELECT * FROM company WHERE jsonb_exists_all(technology::jsonb, array['ERP']);
或
SELECT * FROM company WHERE jsonb_exists_all(technology, array['ERP']);
参考此链接 http://www.scriptscoop2.com/t/984beb7bce86/postgresql-json-select-query-replacement-in-php-yii2.html