2015-10-07 3 views
0

мой вопрос довольно прост ...Это займет 3 запроса?

У меня есть 3 класса .. -An класса Event -An Пригласить класс -and класса пользователей.

Каждая строка приглашения имеет указатель на класс пользователя и указатель на класс события. Чтобы показать, какой пользователь был приглашен на какое конкретное событие ..

Таким образом, моя цель заключается в том, чтобы каждое событие было в состоянии получить для каждого события, список приглашенных пользователей и тех, которые были приглашены пользователям.

Я могу сделать это просто отлично ... но кажется, что это заняло бы много querys .. Моя логика прямо сейчас: запросов для событий С каждым конкретным событием возвращается запрос для события, запрос для приглашенные пользователи THEN для каждого приглашенного пользовательского запроса для своих фотографий профиля.

это просто звучит как много запросов, и я нервничаю, это может быть медленным или эффектным исполнением ... не был уверен, был ли более простой способ или что-то делать с указателями. Или, может быть, способ, которым я мог бы сконденсировать запросы на две части, после того, как каждый пользователь сможет восстановить их фотографии профиля.

Спасибо! Любые советы были бы замечательными

+0

Я думаю, вам нужно будет использовать SQL-соединения для достижения того, что вы хотите, только с одним запросом (в случае, если у вас есть идентификатор события) – Abdullah

ответ

0

Если вы разрешаете экземплярам «Событие» и «Пользователь» сохранять свои собственные указатели в своих ссылках «Приглашение» (это считается двойным списком), вы можете более легко перемещаться из контекста «Событие» в контекст «Пользователь» вместо того, чтобы ограничиваться «Приглашением», являющимся держателем всех подключений.

Если вы до сих пор путают, пожалуйста, нажмите на эту ссылку на вики "Doubly linked list"

В заключение, если вы создаете эти вдвойне связанные списки, то вы хотите:

  1. перебирать ссылки приглашение событие
  2. Итерации над пользователями текущего приглашения
  3. Реагировать в соответствии с конкретным пользователем (это может также потребовать, чтобы вы исследовали, был ли пользователь приглашен более одного раза через d ifferent приглашения)
Смежные вопросы