Php 自定义向上/向下排序Yii CGridView按钮

Php 自定义向上/向下排序Yii CGridView按钮,php,sql,sorting,button,yii,Php,Sql,Sorting,Button,Yii,因此,我想在我的CGridView中创建一个新按钮。这是上下箭头按钮,用于对我的文章进行排序。我读过很多关于如何制作这种按钮的书。我已经阅读了关于如何使用这个CGridView按钮的wiki 现在我认为: array( 'header' => 'Action', 'class' => 'CButtonColumn', 'template' => '{moveup}{movedown}

因此,我想在我的CGridView中创建一个新按钮。这是上下箭头按钮,用于对我的文章进行排序。我读过很多关于如何制作这种按钮的书。我已经阅读了关于如何使用这个CGridView按钮的wiki

现在我认为:

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'


谢谢你的回答。我试过你的建议,但还是不行。该代码使所有向上/向下箭头显示