【发布时间】:2017-11-20 09:12:22
【问题描述】:
我正在尝试在 Doctrine+Symfony 3 中的 json 类型中进行基本搜索。我的字段声明如下:
/**
* @ORM\Column(name="data", type="json_array", nullable=true)
*/
private $data;
这是我存储库中在 MySQL 上运行良好的代码:
public function searchByKeyword($kw)
{
$kw = str_replace(" ","%",$kw);
return $this->createQueryBuilder("d")
->join("d.product", "p")
->where("d.data like :search")
->setFirstResult(0)
->setMaxResults(50)
->orderBy("p.createdOn", "DESC")
->setParameter("search", "%" . $kw . "%")->getQuery()->execute();
}
我转向了 Postgresql 9.5,它可以处理 JSON 类型并且不对 json 数组使用 TEXT。我有这个错误:
SQLSTATE[42883]:未定义函数:7 错误:运算符不存在:json ~~未知
我很确定我应该将 json 字段转换为文本来解决我的问题,但我尝试了 (d.data)::TEXT 和 d.data::TEXT,但它不起作用。
【问题讨论】:
标签: php json postgresql symfony doctrine