DCAT ADMIN 工具表单无法响应的问题
1. 运行环境
1). 当前使用的 Laravel 版本?
//: <Laravel Framework 7.30.6>
(使用 php artisan --version
命令查看)
2). 当前使用的 php/php-fpm 版本?
PHP 版本:
//: <PHP 7.3.4> (使用 php --version
命令查看 php 版本)
php-fpm 版本:
3). 当前系统
//: windows 11
4). 业务环境
5). 相关软件版本
2. 问题描述?
class AuditNews extends Form implements LazyRenderable
{
use LazyWidget; // 使用异步加载功能
// 处理请求
public function handle(array $input)
{
// 获取外部传递参数
$id = $this->payload['id'] ?? null;
// 表单参数
// $input = $request->all();
$audit_status = $input['audit_status'] ?? null;
$audit_time = date('Y-m-d H:i:s');
if (! $id) {
return $this->response()->error('参数错误');
}
$news = News::query()->find($id);
if (! $news) {
return response()->error('新闻不存在');
}
$news->audit_status= $audit_status;
$news->audit_time=$audit_time;
if($audit_status==2){
$reject_reason= $input['reject_reason'];
$news->reject_reason = $reject_reason;
}
$news->save();
return $this->response()->success('成功!')->refresh();
}
public function form()
{
// 获取外部传递参数
$id = $this->payload['id'] ?? null;
// 表单 name 属性
$name = 'audit_status';
// 选项
$options = [
1 => '审核通过',
2 => '审核驳回',
];
$this->radio('audit_status')->when(2,function (Form $form){
$form->textarea('reject_reason');
})->options($options)->default(1);
$this->hidden('id');
}
}
3. 您期望得到的结果?
4. 您实际得到的结果?
message: “Field [response] does not exist.”
//我把
return $this->response()->success(‘成功!’)->refresh();替换成 response()->json([‘status’=>true,’message’=>’成功!’,’/news’]);是可以提示并刷新的。但是我看文档,都是return $this->response()来完成响应的,想跟着文档来,不知道自己问题出在哪儿