Извините за неописуемый заголовок, но я не уверен, как его сформулировать. В настоящее время я пробую свои силы в разработке клона Twitter с cakePHP, так как я новичок в веб-программировании. Я пошел с 3 таблицами:
пользователей (идентификатор, имя)
- id - это автоматически сгенерированный идентификатор
- имя пользователя
твиты (id, content, user_id)
- id - это автоматически сгенерированный идентификатор
- содержание - это текст твита
- user_id - это идентификатор пользователя, который сделал сообщение
подписчиков (id, user_id, follow_id)
- id - это автоматически сгенерированный идентификатор
- user_id - это пользователь, который делает следующее
- follow_id - это пользователь, за которым следят
Теперь почти все в основном работает, даже несколько следуют функции. Тем не менее, я думаю, что, возможно, неправильно настроил модель отношений. На самом деле, я уверен, что это неправильно.
Прямо сейчас, это модельные отношения:
- Пользователь: имеет много твитов, имеет много последователей
- Твиты: принадлежит пользователю
- Подписчики: принадлежит пользователю
Я почти уверен, что отношения с Фолловерами неправильные, но с этим я и работал. Прямо сейчас то, что работает, - это вход пользователя в систему / выход из системы, сеансы, размещение сообщений, удаление собственных сообщений и последующее использование (а затем возможность просматривать их твиты).
Что сейчас не работает, так это когда я пытаюсь получить список людей, за которыми я следую, или людей, которые следуют за мной. Проблема в том, что я не уверен, как получить доступ к этим данным.
Мне нужен экран, на котором я могу щелкнуть ссылку, чтобы увидеть всех людей, на которых я подписан, а затем увидеть все их последние твиты.
Например, я полагаю, что я могу использовать запрос find (), чтобы получить список всех людей, на которых я подписан, но, как вы можете видеть из приведенной выше таблицы Подписчиков, этот запрос возвращает только идентификаторы пользователей из последователь и последователь. Из этих данных, как мне получить доступ к их именам и последним твиттам?
Я делаю два поиска? Это то, что я могу переопределить в моих модельных отношениях, чтобы в моем файле ctp я мог просто просмотреть php и использовать что-то вроде:
$this->$data['Tweet']['userID']
$this->$data['User']['name']
$this->$data['Tweet']['content']
Извините, я не уверен, правильно ли я объяснил ...
Я надеюсь, что мое намерение ясно. Любой совет приветствуется!
Спасибо!