Почему доктрина возвращает больше полей, чем я просил? - PullRequest
1 голос
/ 12 ноября 2008

Я возился с Doctrine (версия 1.0.3), чтобы выяснить, подойдет ли он для коллекции приложений, которые я пишу.

Я пытаюсь сделать запрос и вернуть только 3 поля. Я получаю правильные поля в одной таблице, но в таблице соединений я получаю все, когда мне нужно только одно поле. Я написал, что SQL должен быть в phpMyAdmin, и он возвращает только то, что мне нужно.

 31 $ftp_info = Doctrine_Query::create()
 32          ->select('f.uid, f.home, s.identifier')
 33          ->from('FtpUser f')
 34          ->leftJoin('f.Submitter s')
 35          ->where('f.uid = ?',500)
 36          ->execute();
 37
 38 print $ftp_info[0]->uid ."\n";
 39 print $ftp_info[0]->home ."\n";
 40 print $ftp_info[0]->Submitter->description ."\n";
 41 print $ftp_info[0]->Submitter->identifier ."\n";

Это дает мне значение для описания, когда я не просил его в запросе. Эти две таблицы имеют отношение один к одному, определенное в соответствующих методах setUp.

Есть какие-нибудь подсказки, чего мне не хватает?

1 Ответ

2 голосов
/ 12 ноября 2008

Я думаю, что это будет лениво загружать это поле из базы данных автоматически, как вы и просите. Смотри здесь

Вы можете var_dump() получить результат, чтобы подтвердить это

...