Почему доктрина возвращает больше полей, чем я просил?

StackOverflow https://stackoverflow.com/questions/284463

  •  08-07-2019
  •  | 
  •  

Вопрос

Я возился с 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.

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

Это было полезно?

Решение

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

scroll top