как сохранить результат поиска CGridView в другую модель? - PullRequest
1 голос
/ 23 марта 2011

Как сохранить результаты поиска модели в другую модель? У меня есть это при просмотре файла

<?php
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
        $('.search-form').toggle();
        return false;
});
$('.search-form form').submit(function(){
        $.fn.yiiGridView.update('wsrecruitcvhead-grid', {
                data: $(this).serialize()
        });
        return false;
});
");
?>

<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
        'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php echo " | " .CHtml::link('Save Search',array('savesearchresult','r'=>'wsrecruitcvhead/savesearchresult')); ?>

<?php $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'wsrecruitcvhead-grid',
        'dataProvider'=>$model->search(),
        #'filter'=>$model,
        'columns'=>array(
                #'MemberShipID',
                #'ResumeID',
                'ResumeTitle',
                'ResumeSummaryIntroduction',
                'Name',
                'DOB',
                array(
                    'class' => 'CButtonColumn',
                    'viewButtonUrl' => 'Yii::app()->createUrl("wsrecruitcvhead/view",array("id"=>$data["ResumeID"]))',
                    'template'=>'{view}',
                ),
        ),
)); ?>

как я получу значения id каждого значка увеличительного стекла из результатов поиска?

У меня есть это в моем контроллере

  /*
     * CV advance search page
     */
    public function actionAdvancecvsearch()
    {

        $model = new Wsrecruitcvhead('search');
        $model->unsetAttributes();
        if(isset($_GET['Wsrecruitcvhead']))
            $model->attributes = $_GET['Wsrecruitcvhead'];
            $this->render('advancecvsearch',array(
                'model' => $model,
            ));

    }

    /*
     * save search results
     */
    public function actionSavesearchresult()
    {
        $model = new Wsrecruitsavedsearches;
        if(isset($_POST['Wsrecruitcvhead']))
        {
            $model->MemberShipID = Yii::app()->user->id;
            $model->ResumeID = $_POS['Wsrecruitcvhead']['id'];
            $model->datesaved = new CDbCriteria(NOW());
            if($model->save())
            {
                $this->redirect(array('savedcvsearches','r'=>'wsrecruitcvhead/savedcvsearches'));
            }
            else
            {
                $this->redirect(array('advancecvsearch','r'=>'wsrecruitcvhead/advancecvsearch'));
            }
        }
    }

    /*
     * render savedcvsearches
     */
    public function actionSavedcvsearches()
    {
        //some code stuff here
        $this->render('savedcvsearches');
    }

на самом деле я видел пример, но это не помогло как сохранить результаты поиска в cgridview

1 Ответ

0 голосов
/ 23 января 2012

Установить новый столбец с отображением: нет;Класс и установить скрытое поле с помощью CHtml.

'columns'=>array(
    array=>(
        'name'=>'',
        'type'=>'raw',
        'value'=>"CHtml::hiddenField('resumeIds[]', $data['ResumeID'])",
        'htmlOptions'=>array('class'=>'hiddenTrClass')
    )
)

Процесс будет выглядеть примерно так:

foreach($_POST['resumeIds'] as $id): 
    //Do Something
endforeach;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...