Попробуйте одно из этих решений, я думаю, что ваша проблема в том, что вы не указали 'from' в решении, используя построитель запросов.Также вы можете удалить 'm' из функции createQueryBuilder (), эта функция не получает никаких параметров.Я надеюсь, что одно из этих решений подойдет вам.
Решение 1
public function getThreads(){
return $this->em->createQueryBuilder()
->select('DISTINCT m.thread')
->from('App\Entity\Message', 'm')
->where('m.thread IS NOT NULL')
->orderBy('m.thread', 'DESC')
->setMaxResults(10)
->getQuery()
->getResult();
}
Решение 2
public function getThreads(){
return $this->em->createQueryBuilder()
->select('m.thread')->distinct()
->from('App\Entity\Message', 'm')
->where('m.thread IS NOT NULL')
->orderBy('m.thread', 'DESC')
->setMaxResults(10)
->getQuery()
->getResult();
}
Решение 3
public function getThreads(){
$queryBuilder = $this->em->createQueryBuilder();
$queryBuilder->select('m.thread')->distinct()
->from('App\Entity\Message', 'm')
->where($queryBuilder->expr()->isNotNull('m.thread'))
->orderBy('m.thread', 'DESC')
->setMaxResults(10);
$query = $queryBuilder->getQuery();
$result = $query->getResult();
return $result;
}