модель отношений cakephp - PullRequest
0 голосов
/ 10 августа 2011

Ниже таблица пользователей и таблица дружбы.Когда данный пользователь входит в систему, я получаю все данные о дружбе, где $ id == user_a_id ИЛИ $ id == user_b_id.

| Friendships |
| id | user_a_id | user_b_id | created | modified |
|  1 |     1     |     2     | created | modified |
|  2 |     1     |     5     | created | modified |
|  3 |     3     |     1     | created | modified |
|  4 |     2     |     4     | created | modified |
|  5 |     3     |     2     | created | modified |

| Users |
| id | first_name | last_name | created | modified |
|  1 | Barrack    | Obama  | -- | -- |
|  2 | John       | McCain | -- | -- |

Когда Обама входит в систему, я хочу отобразить список имен его друзей, поэтому результат запроса также должен содержать 2 строки из таблицы Users.

Как установитьэто отношения с Cake ??

Это дружба имеет много пользователей?и есть ли какие-нибудь учебники по этому поводу?

Спасибо

РЕДАКТИРОВАТЬ:

Я просто хочу иметь возможность указать следующее:

$this->set('friendships', $this->Friendship->find('all' , IncludeBothUsersInfoInQuery ));

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

[Friendship]
    [id]
    [user_a_id]
    [user_b_id]
    [created]
    [modified]
        [User_A_Info]
            [id]
            [first_name]
            [last_name]
            [created]
            [modified]
        [User_B_Info]
            [id]
            [first_name]
            [last_name]
            [created]
            [modified]

1 Ответ

1 голос
/ 11 августа 2011

Дружба принадлежит к User_A и User_B (вам нужно 2 принадлежностей для отношений), не забудьте установить внешний ключ. Вы знакомы с содержанием, верно? Если нет, то посмотрите, вы узнаете, как запрашивать нужные вам данные. Вы также можете установить User hasMany Friendship.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...