Php 自定义向上/向下排序Yii CGridView按钮
因此,我想在我的CGridView中创建一个新按钮。这是上下箭头按钮,用于对我的文章进行排序。我读过很多关于如何制作这种按钮的书。我已经阅读了关于如何使用这个CGridView按钮的wiki 现在我认为:Php 自定义向上/向下排序Yii CGridView按钮,php,sql,sorting,button,yii,Php,Sql,Sorting,Button,Yii,因此,我想在我的CGridView中创建一个新按钮。这是上下箭头按钮,用于对我的文章进行排序。我读过很多关于如何制作这种按钮的书。我已经阅读了关于如何使用这个CGridView按钮的wiki 现在我认为: array( 'header' => 'Action', 'class' => 'CButtonColumn', 'template' => '{moveup}{movedown}
array(
'header' => 'Action',
'class' => 'CButtonColumn',
'template' => '{moveup}{movedown}{view}{delete}',
'htmlOptions' => array('style' => 'width: 68px'),
'buttons' => array
(
'moveup' => array
(
'label' => 'Move Up',
'imageUrl' => Yii::app()->request->baseUrl . '/images/move_up.png',
'url' => 'Yii::app()->createUrl("KB/moveup", array("id"=>$data->KBID))',
'visible' => '$data->KBORDER == KB::model()->getMax()',
),
'movedown' => array
(
'label' => 'Move Down',
'imageUrl' => Yii::app()->request->baseUrl . '/images/move_down.png',
'url' => 'Yii::app()->createUrl("KB/movedown", array("id"=>$data->KBID))',
'visible' => '$data->KBORDER == KB::model()->getMin()',
),
),
),
我模型中的这个:
public function getMax(){
$sql = 'SELECT MAX(KBORDER) FROM KB';
$max = Yii::app()->db->createCommand($sql);
$max->queryAll();
return $max;
}
public function getMin(){
$sql = 'SELECT MIN(KBORDER) FROM KB';
$min = Yii::app()->db->createCommand($sql);
$min->queryAll();
return $min;
}
所有的代码都运行得很好。除了能见度。我想让up按钮在KBORDER值最高或位置在第一位时不可见。对于“向下”按钮,当它具有最低的KBORDER值或当它的位置在最后一个位置时,它也应该是不可见的。但是,当我把代码放在我的“可见”中时,所有的按钮都是不可侵犯的。
所以我的问题是,如何实现我的请求
提前感谢首先,queryAll返回一个数组。因此,您可能应该使用,并且应该从函数返回结果,而不是从命令对象返回结果
return $max->queryScalar();
你也可以在Yii中使用a
其次,您希望在按钮不在顶部或底部时分别显示按钮,因此您应该否定=
“可见”=>“$data->KBORDER!=KB::model->getMax'
及
“可见”=>“$data->KBORDER!=KB::model->getMin'
谢谢你的回答。我试过你的建议,但还是不行。该代码使所有向上/向下箭头显示