我想将MySQL查询调整为postgreSQL



我正在尝试使用Yii2和PostgreSQL为我的页面中的视频制作浏览器,我的参考代码是MySQL。我理解函数";以及Where";在给定MySQL代码的情况下生成SQL查询。

我试图在php文件中转换的查询是:

SELECT title
FROM video
WHERE to_tsvector(title || ' ' || tags) @@ to_tsquery(:keyword)

MySQL的参考代码是:

return $this->andWhere("MATCH(title, description, tags)
AGAINST (:keyword)", ['keyword' => $keyword]);

请帮帮我,我被卡住了。

ActiveRecord可以帮助您编写与数据库无关的查询

ActiveRecord允许您编写查询,而不必担心支持的数据库。您甚至可以更改应用程序使用的数据库引擎,而无需修改查询。

此代码应该适用于您的用例

$this->where(['or', 
['like', 'title', $keyword],
['like', 'description', $keyword],
['like', 'tags', $keyword]
]);

我不知道你为什么在问题中使用andWhere(),如果你的方法中已经有一个更高的where(),那么就使用andWhere

Yii2文档有一个很好的页面,介绍如何指定查询条件。

最新更新