Я возился с 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.
Есть какие-нибудь подсказки к тому, что мне не хватает?
Я думаю, что он будет автоматически загружать это поле из базы данных по вашему запросу. См. здесь
Вы могли бы, возможно, var_dump()
результат подтвердить это
Var_dump кажется бесконечным, но вы правы, что происходит. Я новичок в том, что лениво загружал классы, но не такие поля. Спасибо!