Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
justiam
цитировать
Зарегистрирован: 28 Июл 2008 00:49:33 Сообщения: 24
|
Добавлено: 10 Сен 2009 15:50:34 Заголовок сообщения: Relations с таблицей сообщений - как сделать? |
|
|
Всем привет! Я хочу сделать для пользователей возможность отправлять друг другу сообщения на сайте, и мне хотелось бы, чтобы модель возвращала сообщения юзера в таком виде:
Код: |
[User] => Array
(
[id] => 1
[login] => Bunny Lebowsky
)
[Message] => Array
(
[0] => Array
(
[id] => 1
[from_id] => 1
[to_id] => 2
[body] => hello dude, how r u?
[created] => 2010-00-00 00:00:00
[deleted] => 0
[From] => Array
(
[id] => 1
[login] => Bunny Lebowsky
)
[To] => Array
(
[id] => 2
[login] => Dude
)
)
[1] => Array
(
[id] => 2
[from_id] => 2
[to_id] => 1
[body] => im fine, thank you.
[created] => 2011-00-00 00:00:00
[deleted] => 0
[From] => Array
(
[id] => 2
[login] => Dude
)
[To] => Array
(
[id] => 1
[login] => Bunny Lebowsky
)
)
|
Т.е. получается что-то вроде (я знаю, что это неправильно)
Код: | foreignkey1 = from_id
foreignkey2 = to_id
order = 'message.created'
condition='message.deleted=0' |
Такое возможно силами связей (hasone, hasmany, habtm) или необходимо писать свои методы?
И еще - может есть более удобный для пользователя способ организации сообщений?
С удовольствием бы воспринял ваш опыт. |
|
Вернуться к началу |
|
|
Гость
цитировать
|
Добавлено: 17 Сен 2009 19:32:22 Заголовок сообщения: |
|
|
Возможно:
Код: | <?php
class Message extends AppModel {
var $belongsTo = array('User1'=>array('className' => 'User','foreignKey'=> 'to_id', 'fields' => array('User1.username', 'User1.id'))
,'User2'=>array('className' => 'User','foreignKey'=> 'from_id', 'fields' => array('User2.username', 'User2.id') ));
} |
|
|
Вернуться к началу |
|
|
mayar
цитировать
Зарегистрирован: 03 Апр 2009 15:52:14 Сообщения: 24
|
Добавлено: 20 Сен 2009 17:09:13 Заголовок сообщения: |
|
|
Ну тебе нужно сначала логически все продумать. Какие таблицы, что в них будет, как будут относиться друг к другу... А так трудно с ходу что-то подсказать конкретное. |
|
Вернуться к началу |
|
|
|