效果展示
添加操作按钮
在grid()
方法中添上以下代码
$grid->actions(function (Grid\Displayers\Actions $actions) {
// 添加操作按钮
$actions->add(new Money);
});
具体操作 ( 主要的代码功能 )
App\Admin\Actions\Users;
在这里创建 Money.php
文件
具体操作代码如下
<?php
namespace App\Admin\Actions\Users;
use Encore\Admin\Actions\RowAction;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use App\Models\Accounts;
class Money extends RowAction
{
public $name = '充币';
public function handle(Model $model, Request $request)
{
// $request 获取 下方 form 表单内容
switch ($request->get('name')) {
case 1:
$currency = '...';
break;
case 2:
$currency = '...';
break;
}
// 处理错误
try {
// $model 获取提交行信息
$money = Accounts::where('user_id', $model->id)->where('currency', $currency)->get()[0];
if ($request->get('money') <= 0) throw new \Exception("金额不符合");
$money->amount = $money->amount + $request->get('money');
$money->save();
return $this->response()->success('充币成功')->refresh();
} catch (\Exception $e) {
return $this->response()->error('产生错误:' . $e->getMessage());
}
}
// 创建弹出模态框
public function form()
{
// 单选框
$this->select('name', '充币类型')->options([
1 => '...',
2 => '...'
]);
$this->text('money', '金额')->rules('required');
}
}