Symfony - Doctrine createQueryBuilder from json_array



Symfony 4中的克里特岛自定义查询,我使用createQueryBuilder()。 我的实体有列price_ranges type type="json_array"

我存储在此列中的此数据

{
"from": "10.10.2010", 
"to": "10.20.2010", 
"pricePerNight": 100,
"minStay": 7
}

希望按price_ranges列中的pricePerNight键查询数据。

我创建了函数,但出现以下错误:

[Semantical Error] line 0, col 41 near 'price_ranges': Error: Class AppEntityHouse has no field or association named price_ranges

这是我的函数。我错在哪里?

public function findDataByPriceRange()
{
$qb = $this->createQueryBuilder('u');
$qb->select('u')
->where('u.price_ranges LIKE :price_ranges')
->setParameter('pricePerNight', 100);
return $qb->getQuery()->getResult();
}

编辑函数后:

public function findVillasByPriceRange()
{
$qb = $this->createQueryBuilder('u');
$qb->select('u')
->where('u.priceRanges LIKE :priceRanges')
->setParameter('pricePerNight', 100);
return $qb->getQuery()->getResult();
}

我收到此错误:

Invalid parameter: token pricePerNight is not defined in the query.

您需要在where()中使用相同的参数名称,并像这样setParameter()

->where('u.priceRanges LIKE :parameterName')
->setParameter('parameterName', 100);

相关内容

  • 没有找到相关文章

最新更新