CGridViewが90のレコードに限定されています
-
21-12-2019 - |
質問
yii 1.1.14
私のテーブルが90以上のレコードを保持すると、CigridViewはが最新レコードのロードに失敗します。いくつかのレコードを削除して90の合計を持ってきたとき、それは私に最新のレコードを私に表示されます。
- 最新レコードを表示するようにCgridViewを表示するにはどうすればいいですか?
My Model :: Search()はほとんど箱の外にあります。(降順のソートのみを変更してください)。
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('xpl',$this->xpl,true);
$criteria->compare('phpClass',$this->phpClass,true);
$criteria->compare('line',$this->line);
$criteria->compare('function',$this->function,true);
$criteria->compare('usr',$this->usr,true);
$criteria->compare('guessedName',$this->guessedName,true);
$criteria->compare('email',$this->email,true);
$criteria->compare('cls',$this->cls);
$criteria->compare('vis',$this->vis);
$criteria->compare('cet',$this->cet,true);
$criteria->compare('trace',$this->trace,true);
$criteria->compare('iconID',$this->iconID);
$criteria->compare('albumID',$this->albumID);
$criteria->compare('record_created',$this->record_created,true);
$criteria->compare('timestamp',$this->timestamp);
$criteria->compare('vrs',$this->vrs,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'id DESC',
),
));
}
.
そしてここに私の見解:
<?php
Yii::app()->ClientScript->registerScriptFile($this->assetsBase.'/js/plug.note.js', CClientScript::POS_END);
Yii::app()->clientScript->registerCssFile($this->assetsBase.'/css/x0.css');
Yii::app()->ClientScript->registerCssFile($this->assetsBase.'/fontello/css/fontello.css', 'screen');
Yii::app()->ClientScript->registerCssFile($this->assetsBase.'/fontello/css/animation.css', 'screen');
$this->breadcrumbs=array(
'Ifas'=>array('index'),
'Manage',
);
$this->menu=array(
array('label'=>'List Ifa', 'url'=>array('index')),
array('label'=>'Create Ifa', 'url'=>array('create')),
);
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$('#ifa-grid').yiiGridView('update', {
data: $(this).serialize()
});
return false;
});
// set up polling at interval
$(function() {
$.fn.note('poll');
});
");
?>
<style>
i.icon-tag, i.icon-wrench {font-size: 18px;}
</style>
<div style="float: left; margin-right: 10px;">Notes (Family Archives)</div>
<div style="float:right; margin-left: 10px;">
<div class="ERR" style="float:left;">
<input type="radio" name="cls" id="cls3" onclick="$('.row input[name=\'Ifa[cls]\']').val(3).submit();">
<label for="cls3">error</label>
</div>
<div class="WAR" style="float:left;">
<input type="radio" name="cls" id="cls2" onclick="$('.row input[name=\'Ifa[cls]\']').val(2).submit();">
<label for="cls2">warning</label>
</div>
<div class="INF" style="float:left;">
<input type="radio" name="cls" id="cls1" onclick="$('.row input[name=\'Ifa[cls]\']').val(1).submit();">
<label for="cls1">info</label>
</div>
<div class="DBG" style="float:left;">
<input type="radio" name="cls" id="cls0" onclick="$('.row input[name=\'Ifa[cls]\']').val(0).submit();">
<label for="cls0">debug</label>
</div>
<div class="" style="float:left; background-color:#CCCCCC;">
<input type="radio" name="cls" id="cls" onclick="$('.row input[name=\'Ifa[cls]\']').val('').submit();">
<label for="cls">all</label>
</div>
</div>
<div style="float:right; background-color:#CCCCCC; margin-left: 10px;">
<input type="radio" name="vis" id="vis1" onclick="$('.row input[name=\'Ifa[vis]\']').val(1).submit();" checked="checked">
<label for="vis10">visible</label>
<input type="radio" name="vis" id="vis0" onclick="$('.row input[name=\'Ifa[vis]\']').val(0).submit();">
<label for="vis0">invisible</label>
<input type="radio" name="vis" id="vis" onclick="$('.row input[name=\'Ifa[vis]\']').val('').submit();">
<label for="vis">both</label>
</div>
<div style="float:right; background-color:#CCCCCC; margin-left: 10px;">
<input type="checkbox" id="poll" onclick="" checked="checked">
<label for="poll">polling (<span id="lag">?</span> s)</label>
</div>
<div style="float:right; background-color:#CCCCCC; margin-left: 10px; "onclick="$.fn.note('max_id')">
max id <span id="max-id">?</span>
</div>
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button', 'style' => 'float:left; font-size: 10px;')); ?>
<div style="clear:both"></div>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'ifa-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'rowCssClassExpression' => '$data->getRowCssClass()',
'columns'=>array(
'id',
'xpl',
'phpClass',
'line',
'function',
'usr',
'guessedName',
'email',
array(
'name' => 'cls',
'visible' => false
),
array(
'name' => 'vis',
'visible' => false
),
//'cet',
//'trace',
'iconID',
'albumID',
'record_created',
//'timestamp',
'vrs',
array(
'class'=>'CButtonColumn',
'template'=>'{view}{delete}{cet}{trace}',
'buttons'=>array
(
'delete' => array
(
'click'=>"function(){
$(this).note('update', {'vis': 0}).note('remove row');
return false;}",
'url'=>'"#"',
'visible'=> '$data->vis > 0',
),
'cet' => array
(
'label'=>'<i class="icon-tag"></i>',
'click'=>"function(){
$(this).note('modal cet');
return false;}",
'url'=>'"#"',
),
'trace' => array
(
'label'=>'<i class="icon-wrench"></i>',
'click'=>"function(){
$(this).note('modal trace');
return false;}",
'url'=>'"#"',
'visible'=> 'strlen($data->trace) > 0',
),
),
),
),
)); ?>
. 解決
問題を正しく説明していないので、あなたの質問は非常に混乱しています。最新のレコードは何ですか?リストが表示されていることを意味します。
問題はクエリがキャッシュされているためです。あなたは
のような状態を置くことができますreturn array(
'condition'=>"1<='".time()."'",
);
.
それはすべてのクエリをユニークにするので、クエリはキャッシュされません。
他のヒント
すべてのレコードを表示するために、ページ設定をfalseに設定します
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'pagination'=>false,
'sort'=>array(
'defaultOrder'=>'id DESC',
),
));
.
新しいレコードのみを表示するには、これは電子メールで未読メッセージを表示するようなものです。そのため、テーブルに「is_read」として新しいフィールドを追加し、挿入中にレコードごとに0として設定します。
その後、1回読み取られた(最初の表示)、「is_read」の場合は1を1に設定できます。
GridView基準では、新しいレコードを表示するための条件を追加します "is_read= 0"
所属していません StackOverflow