html - 如何检查控制器中是否选中了复选框并将值添加到表中?
问题描述
我有一个调查表,我需要根据复选框值将值放在一列中。
我的复选框输入表单:
<input type="checkbox" name="chk" value="1" />
<label for="chk[]">Prijava</label>
控制器:
public function store(Request $request)
{
$validated=$request->validate([
'title'=>'required',
'description'=>'nullable'
]);
if(Input::get('chk')==="1"){
$validated['prijava']=1;
}
else{
$validated['prijava']=0;
}
return Survey::create($validated);
}
如果复选框被选中,我需要 'prijava' 列为 1,否则为 0。我总是得到 0,如果我将 else 中的代码更改为例如 2,它将在列中添加 2。我还将“prijava”列设置为布尔值。
解决方案
首先像这样删除 value 属性:
<input type="checkbox" name="chk" />
然后在您的 store 方法中将您的代码更新为:
public function store(Request $request)
{
$validated=$request->validate([
'title'=>'required',
'description'=>'nullable'
]);
if($request->has('chk')){
$validated['prijava']=1;
}
else{
$validated['prijava']=0;
}
return Survey::create($validated);
}
我认为这很好用
推荐阅读
- c - 这个shellcode是什么意思?
- vba - 如何根据当前视图获取活动文件夹中前 X 项
- javascript - 在 PDF.js 中加载 pdf
- python - 异常处理,SyntaxError Vs ValueError Vs Default Exeption
- javascript - 查找所有元素并附加事件侦听器
- css - 何时使用 max-width: none 作为块?
- android-studio - 如何在 Android Studio 中正确导入新模块
- android - 如何从接口中的方法返回 Observable 类型的对象
- leaflet - 有没有办法通过传单地图获得飞行效果?
- angular - 如何在Angular中将()=>数字转换为数字