Я также заметил аномалию с этим, когда если вы сначала вызываете отношение, а затем вызываете ToArray, то отношение как-то включается. Я имею в виду, что, взяв свой собственный, например,
$User = Doctrine_Core::getTable("User")->find(1);
$num= $User->Phonenumbers->office; // assumed a field 'office' in your phone num table
$userArray = $user->toArray(true);
В приведенном выше случае $ userArray каким-то образом содержит целые отношения. если мы удалим присвоение $ num, это не так.
Я предполагаю, что это происходит из-за того, что доктрина выбирает только одну запись первой, и только когда вы пытаетесь получить доступ к значениям внешнего ключа, она выбирает другие связанные таблицы