Kdyby Doctrine nevrací výsledek po SQL dotazu
- Petr Nečas
- Člen | 1
Ahojte, pokouším se položit vlastní SQL příkaz na databázi, protože
ORM pokládalo hodně zbytečných dotazů.
Zkouším to pomocí následujícího kódu:
public function getUsersProjects($id)
{
$rsm = new ResultSetMapping();
$query = $this->em->createNativeQuery('
SELECT id
FROM project_user
WHERE user = ?
', $rsm);
$query->setParameter(1, $id);
return $query->getResult();
}
Jak je možné, že dotaz vrací vždy jen prázdné pole
array()
. Když ten samí dotaz položí následně do databáze
přes adminer, vrátí se mi asi 10 výsledků (jsem si jistý, že dotaz
pokládám do stejné databáze). Jedná se o tabulku, která vezbou ManyToMany
spojuje tabulku user a project.
Tablka project_user vypadá následovně: https://ctrlv.cz/ARTD
Zkoušel jsem to i pomocí DQL dotazu, ale spustili se stejné nesmyslé dotazy
jako když jsem to zkoušel vytáhnout přes entitu usera, který na to má
vazbu.
Nevíte proč mi to nejde, nebo popřípadě nějaké jiné řešení ? Děkuji
vám mockrát.
Editoval Petr Nečas (25. 10. 2017 10:56)