我在Doctrine遇到了一个问题。我用queryBuilder构建了以下查询:
$queryBuilder = $this->createQueryBuilder('a')
->select('a')
->join('a.map', 'm');
$critery = $request->query->get('criteria_map_name');
$queryBuilder->where('m.name LIKE :criteria_map_name');
$queryBuilder->setParameter('criteria_map_name', '%'.$critery.'%');
以下是执行前记录的查询:
SELECT
s0_.id AS id0,
....
s0_.modifications_id AS modifications_id44
FROM
server s0_
INNER JOIN map m1_ ON s0_.mapId = m1_.id
WHERE
m1_.name LIKE ?
参数:['%de%']
当我直接在MySQL中执行此查询(在插入上面的参数之后)时,它可以正常工作,返回结果。
但是,当它由Doctrine执行时,它返回一个空数组。