我收到一个奇怪的错误,我不确定Laravel是否相关。我创建了一个通用的文档模型来存储不同类型文档的数据。它适用于除一个文档之外的所有内容。我的一个文档有大量复选框,采用以下形式
<div class="col-md-6 checkbox checkbox-danger">
{!! Form::checkbox('testingOptions[]', 'Style vs. product based', null, ['class' => 'styled', 'id' => 'checkbox1']) !!}
<label for="checkbox1">
Style vs. product based
</label>
</div>
因此,所选选项存储在testingOptions []中。在我的控制器中,如果我输出输入的数据,我得到类似的东西
array:10 [▼
"_token" => "XGz0x2nivwEuHmYziosFzExGjwWY41GZDdUxSaJi"
"description" => ""
"objective" => "sfrgdf"
"audience" => "gdfgd"
"segmentation" => ""
"testingOptions" => array:2 [▼
0 => "Style vs. product based"
1 => "Use contest or prize draw"
]
"successMeasure" => ""
"deliverables" => ""
"keyDates" => ""
"filePath" => array:1 [▶]
]
现在因为testingOptions是一个数组,我需要在保存时区别对待它。我的通用安全代码是这样的
$inputs = $request->all();
foreach ($inputs as $key => $value) {
if($key !== '_token' && $key !== 'filePath' && $key !== '_method' && $key !== 'testingOptions') {
$documentData = new DocumentData();
$documentData->documentId = $document->id;
$documentData->key = $key;
$documentData->value = $value;
$documentData->save();
}
}
有了上述内容,如果我尝试保护文档,我收到Windows错误,说CLI已停止工作,这会停止我的php服务器。问题归结为上面的if语句,更具体地说是检查testingOptions。如果我从if语句中删除此部分,我不会收到CLI错误。
以前有人见过这样的事吗?
由于