Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Relations с таблицей сообщений - как сделать?

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Заголовок сообщения: Ответить с цитатой

Ну тебе нужно сначала логически все продумать. Какие таблицы, что в них будет, как будут относиться друг к другу... А так трудно с ходу что-то подсказать конкретное.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

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


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru