2015-03-17 2 views
0

Я строй приложения Yii и я последовал за учебник, чтобы включить Расширенный поиск в индексном файле таблицы, как это:Доступа расширенного результата поиска

<?php 
/* @var $this TakeController */ 
/* @var $dataProvider CActiveDataProvider */ 

$this->breadcrumbs=array(
     'Takes', 
); 

$this->menu=array(
     array('label'=>'Create Take', 'url'=>array('create')), 
     array('label'=>'Manage Take', 'url'=>array('admin')), 
); 
Yii::app()->clientScript->registerScript('search', " 
$('.search-button').click(function(){ 
    $('.search-form').toggle(); 
    return false; 
}); 
$('.search-form form').submit(function(){ 
    $.fn.yiiListView.update('takelistview', {   
     data: $(this).serialize() 
    }); 
    return false; 
}); 
"); 
?> 

<h1>Takes</h1> 

<?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> 

<?php $this->widget('zii.widgets.CListView', array(
     'dataProvider'=>$dataProvider, 
     'itemView'=>'_view', 
     'id'=>'takelistview', 
     'sortableAttributes'=>array('id', 'data'') 
)); ?> 

Я хотел бы знать, если есть способ для обработки результатов расширенного поиска. Я знаю, что с $ dataprovider я могу получить доступ ко всем записям для этой таблицы, но хочу получить доступ только к отфильтрованным. В частности, я хочу получить атрибут «данные» для каждой записи, чтобы включить загрузку для всех отфильтрованных записей. Я взглянул на $ .fn.yiiListView и CListView, но я не понимаю, что делать. Вы можете мне помочь? Благодаря!

ответ

0

переменная $dataProvider принадлежит классу CDataProvider, вы можете получить доступ к данным с помощью функции getdata, как показано ниже.

$data = $dataProvider->getData($refresh); 

Установите $refresh флаг верно, если вы хотите, чтобы перезагрузить данные из источника данных

Обратитесь к поставщику полного documentation данных для более методов DataProvider

+0

Привет, спасибо за Ваш ответ. Проблема заключается в том, что этот поиск обновляет список без перезагрузки страницы, поэтому я не могу использовать php ... действительно, если я повторяю счет '$ dataProvider-> getData (true)' Я получаю общее количество записей. Мне нужен способ доступа к обновленному списку: / –

Смежные вопросы