[РЕШЕНО]activeCheckBoxList и редактирование модели

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
sluchainiyznak
Сообщения: 617
Зарегистрирован: 2013.05.19, 17:51
Откуда: ХМАО-Югра, г. Сургут
Контактная информация:

[РЕШЕНО]activeCheckBoxList и редактирование модели

Сообщение sluchainiyznak »

Здравствуйте уважаемые форумчане!
Прошу вашей помощь в решении проблемки:
Начал писать систему электронного дукентооборота и почти сразу уперся в одну проблемку:
Существует модель письма Message:

Код: Выделить всё

class Message extends CActiveRecord{
...
public function relations()
    {
        return array(
            'receivers'=>array(self::HAS_MANY, 'ReceivedMessage', 'idMessage'),
            'sender'=>array(self::BELONGS_TO, 'User', 'idSender', 'select'=>array('id', 'name')),
        );
    }
...
}
 
так же существует модель пользователя User:

Код: Выделить всё

class User extends CActiveRecord
{
...
public function relations()
    {
        return array(
            'receivedMessages'=>array(self::MANY_MANY, 'Message', 'tbl_sendedMessage(idAddress, idMessage)'),
        );
    }
...
}
 
В данный момент я пытаюсь отредактировать сущестующее письмо и вот как раз здесь у меня возникают сложности, а именно:
мне необходимо отобразить checkBoxList со всеми пользователями и среди них должны быть отмечены те пользователи, которым на данный момент уже отправлено письмо.
для начала код действия:

Код: Выделить всё

public function actionEditMessage($id)
    {
        $msg = Message::model()->with('receivers')->find($id);
        echo var_dump($msg->receivers[0]->receivedUser);

        $this->render('editMyMsg', array(
            'model'=>$msg
        ));
    }
 
и вьюха:

Код: Выделить всё

<?$this->pageTitle = 'Редактирование письма'?>

<?php $this->widget('bootstrap.widgets.TbBreadcrumbs', array(
    'links'=>array('Исходящие'=>array('profile/MyMsgList'),'Редактирование письма'),
));
?>
<?
$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
    'id'=>'verticalForm',
    'htmlOptions'=>array('class'=>'well'),
));
?>
<fieldset>
<div class="readedMessage_1">
    <div class="row">
        <?echo $form->textAreaRow($model, 'textMessage', array('class'=>'span8', 'rows'=>5));?>
        <?echo $form->error($model,'textMessage');?>

        <?php echo $form->checkBoxListRow($model, 'id', CHtml::listData(User::model()->findAll(), 'id', 'name')); ?>
</div>

    <?$this->endWidget();?>
    <?$this->widget('bootstrap.widgets.TbButton', array(
        'label'=>'Сохранить',
        'buttonType'=>'submit',
        'type'=>'primary', // null, 'primary', 'info', 'success', 'warning', 'danger' or 'inverse'
        'size'=>'normal', // null, 'large', 'small' or 'mini'
    ));?>
</div>
    </fieldset>
Подскажите пожалуйста, как мне все-таки добить этот checkBoxList?
Последний раз редактировалось sluchainiyznak 2013.05.21, 06:20, всего редактировалось 1 раз.
Ответить