【发布时间】:2020-01-12 10:11:05
【问题描述】:
我有一个大表单(约 150 个输入)和一个经典控制器(带有创建/存储方法)。我也在使用验证规则。
存储方式:
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|regex:/^[a-zA-Zа-яёА-ЯЁ]+$/u|min:2|max:50',
'phone' => 'required|digits_between:9,10',
'description' => 'required|min:20|max:500',
]);
if ($validator->fails()) {
return redirect()->back()->withErrors($validator);
}
$request['created_by'] = Auth::user()->id;
Profile::create($request->all());
return redirect()->route('admin.profile.index');
}
在这种情况下,表单不存储任何数据...
当我尝试减少输入数字(从 150 到 30)时 - 数据已成功存储!
之后,我增加了“php_memory_limit”,“max_input_vars”等,但问题没有解决。
请帮助找到存储大型表单的最佳方式。
UPD:
表单存储成功,无需验证... 我试图只设置一个简单的规则 - “必需”,但问题并没有消失
【问题讨论】:
-
您输入的大概大小是多少(以字节为单位)?
-
你的模型里面有什么?
-
你可以使用
$request->validate([RULES])删除if ($validator->fails()) -
您是遇到错误、白页还是只是返回而不保存?
-
@Rwd,不保存就返回