Нет проблем, просто вопрос о хорошем написании кода. Я все еще изучаю Symfony + ORM и не ориентируюсь в этих рамках.
У меня в таблице базы данных Пользователь (со столбцом входа в систему) и Учетная запись (также со столбцом входа в систему, который отличается от имени входа в Пользователе).
Один пользователь (идентифицируется по идентификатору для базы данных и по логину для входа в систему) имеет много учетных записей (идентифицируется также по идентификатору и имени для входа в систему, которые действуют как имя учетной записи). Итак, отношение в schema.yml:
Account:
(...)
relations:
idUser:
class: User
local: id_user
foreign: id_user
foreignAlias: Accounts
Теперь я пытаюсь получить доступ ко всем логинам Аккаунта, связанным с логином одного Пользователя, следующим образом (скажем, пока я только отображаю список логинов Аккаунта текущего пользователя):
/* $u = login-name of the current user */
$q = Doctrine::getTable('User')->
createQuery('u')->innerjoin('u.Accounts a WITH u.login=?', $u)->execute();
foreach($q[0]->Accounts as $v) {
echo $v->login . "<br />";
}
Этот код работает очень хорошо. Однако, что мне сейчас интересно, так это разве это не уродливо или не самый лучший способ добиться этого? Как я уже сказал, у меня нет особой ориентации в Symfony, и я не знаю, какие методы программирования рекомендуются, а какие нет.