Laravel 从表单请求中获取值数组
Laravel get array of values imploded from Form Request
我的发件人请求中有以下规则:
return [
'brand_id' => 'required|numeric',
'name' => 'required|string',
'wage_type_id' => 'required|numeric',
'work_days' => 'required|array',
'weekly_min' => 'required|numeric',
'weekly_max' => 'required|numeric',
'weekly_utmost' => 'required|numeric',
'daily_std' => 'required|numeric',
'daily_min' => 'required|numeric',
'daily_max' => 'required|numeric',
];
其中之一,work_days应该作为数组发送。
我可以根据经过验证的表单请求创建工作类型,例如
WorkType::create($request->all());
但是我不能肯定地将数组存储在数据库中。
有没有办法让 work_days 内爆 以便我可以使用上面的一行直接从请求中创建我的记录?
注意:我希望数组内爆,而不是 json 编码,因为我要插入到 SET 类型的字段中。
您实际上可以在控制器中创建模型之前修改请求参数。
$request->merge([
"work_days" => implode(", ", $request->work_days)
]);
WorkType::create($request->all());
如果你想让它在FormRequest
中,覆盖passedValidation()
方法
class SampleFormRequest extends FormRequest
{
public function passedValidation()
{
$this->request->add([
"work_days" => implode(", ", $this->request->get("work_days"))
]);
}
}
但对我来说,我更喜欢单独编写所有属性而不是使用 $request->all()
我的发件人请求中有以下规则:
return [
'brand_id' => 'required|numeric',
'name' => 'required|string',
'wage_type_id' => 'required|numeric',
'work_days' => 'required|array',
'weekly_min' => 'required|numeric',
'weekly_max' => 'required|numeric',
'weekly_utmost' => 'required|numeric',
'daily_std' => 'required|numeric',
'daily_min' => 'required|numeric',
'daily_max' => 'required|numeric',
];
其中之一,work_days应该作为数组发送。
我可以根据经过验证的表单请求创建工作类型,例如
WorkType::create($request->all());
但是我不能肯定地将数组存储在数据库中。
有没有办法让 work_days 内爆 以便我可以使用上面的一行直接从请求中创建我的记录?
注意:我希望数组内爆,而不是 json 编码,因为我要插入到 SET 类型的字段中。
您实际上可以在控制器中创建模型之前修改请求参数。
$request->merge([
"work_days" => implode(", ", $request->work_days)
]);
WorkType::create($request->all());
如果你想让它在FormRequest
中,覆盖passedValidation()
方法
class SampleFormRequest extends FormRequest
{
public function passedValidation()
{
$this->request->add([
"work_days" => implode(", ", $this->request->get("work_days"))
]);
}
}
但对我来说,我更喜欢单独编写所有属性而不是使用 $request->all()