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

Редактирование сразу двух моделей hasMany -> hasMany

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
piupiu

цитировать



Зарегистрирован: 28 Сен 2009 20:53:20
Сообщения: 3

СообщениеДобавлено: 25 Ноя 2009 01:48:25    Заголовок сообщения: Редактирование сразу двух моделей hasMany -> hasMany Ответить с цитатой

Представьте такую стуктуру — есть модель В«ДеньВ», которая имеет много событий, а события, в свою очередь, имеют, к примеру, много комментариев.

То есть все это дело выглядит так:

Код:

class Day extends AppModel {
    var $name = 'Day';
    var $hasMany = 'Action';
}

class Action extends AppModel {
    var $name = 'Action';
    var $hasMany = 'Comment';
}

class Comment…


Теперь представим себе такую ситуацию, что нам надо отредактировать В«ДеньВ» в одной форме, то есть сразу все события и все комментариии, привязанные к ним.

Вот как-то можно сделать так, чтобы, во-первых CakePHP сам подставлял значения полей в соответствующие inputs, а во-вторых чтобы можно было вызвать saveAll() и все само свершилось?

Я пробовал писать такие названия полей:

Код:
$form->input('Action.0.Comment.0.text');


Но CakePHP отказывается понимать…

Есть ли какое-то красивое решение этой проблемы?

--

Да, данные я получаю вот в таком виде, print_r($this->Day->read()):
Код:
Array
(
    [Day] => Array
        (
            [id] => 4
            [date] => 2009-11-24
        )

    [Action] => Array
        (
            [0] => Array
                (
                    [id] => 15
                    [day_id] => 4
                    [name] => Action 1
                    [type] => 0
                    [Comments] => Array
                        (
                            [0] => Array
                                (
                                    [id] => 28
                                    [action_id] => 15
                                    [time] => 00:00:00
                                    [text] => Test
                                )

                        )

                )

            [1] => Array
                (
                    [id] => 16
                    [day_id] => 4
                    [name] => Second
                    [type] => 0
                    [Comments] => Array
                        (
                            [0] => Array
                                (
                                    [id] => 29
                                    [action_id] => 16
                                    [time] => 00:00:00
                                    [text] => Test
                                )

                        )

                )

            [2] => Array
                (
                    [id] => 20
                    [day_id] => 4
                    [name] => Third
                    [type] => 0
                    [Comments] => Array
                        (
                            [0] => Array
                                (
                                    [id] => 35
                                    [action_id] => 20
                                    [time] => 00:00:00
                                    [text] => Test
                                )

                            [1] => Array
                                (
                                    [id] => 36
                                    [action_id] => 20
                                    [time] => 00:00:00
                                    [text] => Test
                                )

                        )

                )

        )

)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
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