DQL Query терпит неудачу - PullRequest
7 голосов
/ 04 июня 2010

У меня есть 2 таблицы в БД MySQL, я использую doctrine 1.2 и symfony 1.4.4

Установлена ​​база и запасные части

Installedbase:
ib_id
app_id
location

и

Spare:
spare_id
app_id
amount

Теперь я хочу присоединиться к таблицам, чтобы показать, сколько приложений в запасе.

, например

$q = self::createQuery("l")
->select('i.*, s.*')
->from('InstalledBase i, Spare s')
->execute();

return $q;

Доктрина знает, что существует связь между таблицами в поле app_id, но я получаю ошибку

500 | Internal Server Error | Doctrine_Hydrator_Exception 
"Spare" with an alias of "s" in your query does not reference the parent component it is related to.

YAML: http://pastey.net/137237 Я не могу понять это, кто-нибудь знает, на что жалуется доктрина?

Ответы [ 2 ]

4 голосов
/ 04 июня 2010
->from('InstalledBase i, i.Spare s')

... «Spare» с псевдонимом «s» в вашем запросе не ссылается на родительский компонент, с которым он связан.

Добавьте к этому запросу еще несколько критериев, чтобы не возвращать все из обеих таблиц.

0 голосов
/ 04 июня 2010

Судя по всему, вы не сказали Доктрине, что эти две таблицы связаны между собой.

...