我在数据库中有show_header
和show_footer
个字段,值可以是1或0.
<input type="checkbox" name="show_header" checked="checked" value="1">
<input type="checkbox" name="show_footer" checked="checked" value="1">
假设数据库中show_header
和show_footer
设置为1,并且您在表单中取消选中它们,请求输入将不包含show_header
和show_footer
字段,因为它未被选中。
那么如何解决这个问题呢?在数据库中将show_header
和show_footer
更新为0?
示例:
$page = Page::where('user_id', 1);
$page->update($request->all());
如果你这样做:
dd($request->all())
您不会找到show_header
和show_footer
,因为未选中复选框,因此$page->update($request->all());
无法设置show_header
和show_header
在数据库中为0。
答案 0 :(得分:3)
您可以在更新前检查并将默认值设置为$("h3").text(function () {
return $(this).text().replace("Rs.", "<i class='fa fa-inr'></i>");
});
,因此如果属性不在此处,只需将其设置为0
:
0
希望这有帮助。
答案 1 :(得分:0)
在你的控制器中试试这个:
$page = Page::where('user_id', 1);
if( $request->has('show_header') && $request->show_header == 1 ){
$page->update(array_add($request->all(), 'show_footer', 0));
}else{
$page->update(array_add($request->all(), 'show_header', 0));
}