Php yii2中的ActionColumn
默认情况下,ActionColumn具有查看、更新和删除功能 我想添加一个按钮,用于将任务标记为完成,我在db call status中有一列,该列的int值为0或1, 所以我想要一个实现逻辑的函数,将任务标记为完成,有人能帮我吗 我在论坛上看到了这个例子,但我不是很了解Php yii2中的ActionColumn,php,yii,yii2,php-7,Php,Yii,Yii2,Php 7,默认情况下,ActionColumn具有查看、更新和删除功能 我想添加一个按钮,用于将任务标记为完成,我在db call status中有一列,该列的int值为0或1, 所以我想要一个实现逻辑的函数,将任务标记为完成,有人能帮我吗 我在论坛上看到了这个例子,但我不是很了解 [ 'class' => 'yii\grid\ActionColumn', 'template' => '{view} {update} {delete} {made}', 'buttons'=>
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete} {made}',
'buttons'=> [
'made' => function () {
return Html::button('<span class="glyphicon glyphicon-ok"></span>', [
'title' => Yii::t('yii', 'made'),
]);
}
],
您可以这样做:
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete} {made}',
'buttons'=> [
...
'made' => function ($url, $model) {
if($model->status === $model::STATUS_SUSPENDED){
return Html::a("Activate", $url, [
'title' => "Activate",
'class' => 'btn btn-xs btn-success',
'data' => [
'method' => 'post',
'confirm' => 'Are you sure? This will Activate this.',
],
]);
}
return Html::a("Suspend", $url, [
'title' => "Suspend",
'class' => 'btn btn-xs btn-danger',
'data' => [
'method' => 'post',
'confirm' => 'Are you sure? This will Suspend this.',
],
]);
}
],
]
然后在控制器ActionMake中创建方法,在其中检查post请求,并对指定的id执行必要的操作。希望这会有所帮助。我有一个错误,说未定义的类常量“STATUS\u SUSPENDED”对不起,如果我是这方面的noob,我很难在php+yii2中使用任务管理器制作crud,但是我从来没有在这项技术中写过一行代码,你会出错,因为这是一个常量,应该在你的模型中。定义实体的状态。学习Yii2,很容易相处。