I've checked my request many times and I don't understand why MySQL displays this error (SQLSTATE[HY093]: Invalid parameter number: parameter was not defined):
public function getOneBySlug($slug)
{
$query = $this
->createQueryBuilder('c')
->select('partial c.{id, slug, name, description, imagePath, imageExt}')
->where('c.slug = :slug')
->setParameter('slug', $slug)
->getQuery()
->useResultCache(true, 300)
->getOneOrNullResult()
;
return $query;
}
And the real request:
SELECT c0_.id AS id_0
, c0_.slug AS slug_1
, c0_.name AS name_2
, c0_.description AS description_3
, c0_.image_path AS image_path_4
, c0_.image_ext AS image_ext_5
, c0_.parent_id AS parent_id_6
FROM category_store c0_
WHERE c0_.slug = 'thing';
As you can see, there's a single parameter.
Thanks for your help.