版权声明:zx https://blog.csdn.net/zxdf123/article/details/85601574
1.可以去掉批量删除按钮
$grid->tools(function ($tools) {
$tools->batch(function ($batch) {
$batch->disableDelete();
});
});
2.自定义批量按钮
(1)先定义操作类app/Admin/Extensions/Tools/ReleasePost.php
<?php
namespace App\Admin\Extensions\Tools;
use Encore\Admin\Grid\Tools\BatchAction;
class ReleasePost extends BatchAction
{
protected $action;
public function __construct($action = 1)
{
$this->action = $action;
}
public function script()
{
return <<<EOT
$('{$this->getElementClass()}').on('click', function() {
$.ajax({
method: 'get',
url: '{$this->resource}/release',
data: {
_token:LA.token,
ids: selectedRows(),
action: {$this->action}
},
success: function () {
$.pjax.reload('#pjax-container');
toastr.success('操作成功');
}
});
});
EOT;
}
}
(2)需要在调用的控制器里 调用这个类 use App\Admin\Extensions\Tools\ReleasePost
;,在grid里加上下面这句
$grid->tools(function ($tools) {
$tools->batch(function ($batch) {
$batch->add('通过', new ReleasePost(1));
$batch->add('拒绝', new ReleasePost(0));
});
});
会出现这种样式了,前端页样式就显示出来了
(3)在本控制器里,加上一个方法,批量操作就完成了
public function show()
{
foreach ($_GET['ids'] as $key => $value) {
if($_GET['action'] == 0){
Feedbacks::where('id',$value)->update(array('id'=>$value,'status'=>'closed'));
}else{
Feedbacks::where('id',$value)->update(array('id'=>$value,'status'=>'checking'));
}
}
}
备注:这个是我研究一天才好使的,可能这是最笨的方法了,可我根据官方文档上写的一模一样扒下来,就是不好使啊,百度也查不到相关文档,若有什么好办法,期待回复