我想使 MySQL 查询适应 postgreSQL

I want to adapt a MySQL query to postgreSQL

我正在尝试使用 Yii2 和 PostgreSQL 为我页面中的视频创建一个浏览器,我的参考代码是 MySQL。我知道函数“andWhere”在给定 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 文档中有关于如何指定查询条件的nice page