Привет всем, я надеюсь, что у кого-то достаточно опыта работы с Cake PHP, чтобы сделать эту работу.
Я работаю над тем, что в данный момент можно ласково назвать твиттер-клоном. По сути, у меня есть такая установка.
У пользователей много друзей. Это отношение многих ко многим к пользовательской таблице. Он хранится в таблице ссылок с именем friends_users с колонками user_id, friend_id. Users - это таблица со столбцом user_id.
Тогда у меня есть таблица с названием tips, которая ассоциируется с пользователем. Пользователь может иметь много советов.
Я хочу найти способ найти в модели Tip информацию, которая возвращает все советы, принадлежащие идентификатору пользователя, который я передал, а также любые советы, принадлежащие любым друзьям этого пользователя.
Этот SQL-запрос работает отлично -
SELECT *
FROM `tips`
JOIN users ON users.id = tips.user_id
JOIN friends_users ON tips.user_id = friends_users.friend_id
WHERE (friends_users.user_id =2 or tips.user_id=2)
LIMIT 0 , 30
Возвращает советы пользователя # 2s, а также советы всех, кто является другом пользователя 2.
Теперь, как я могу сделать то же самое, используя $this->Tip->findxxxxx(user_id)
Я знаю, что могу использовать Tip->query
, если понадобится, но я пытаюсь научиться трудным путем.