[英]Wrong value for form in laravel
我有一個隱私函數。如果public = 1
,則帖子為public,否則為0,則帖子為private。
<label class="toggle" style="right: 185px">{{ Form::checkbox('public') }}<i class="no-rounded privancy"></i></label>
切換默認情況下是在public上設置的,但是在提交時,在數據庫的public
列中我收到NULL
。 如果我按private上的按鈕,則在數據庫中,我會收到1
,而1是PUBLIC的。 它是如何工作的?由於我需要它,如何使它工作。
如果查看生成該復選框的代碼,您將看到它最多可以包含4個參數,第三個參數是默認情況下是否選中該復選框以及該值是什么。 默認值為1。 因此,當您檢查它時,它將返回1。
public static function checkbox($name, $value = 1, $checked = null, $options = array())
{
return \Collective\Html\FormBuilder::checkbox($name, $value, $checked, $options);
}
只需將表單更改為2的值即可在選中時返回2。
Form::checkbox('public', 2)
並且正如您的評論中指出的那樣,未提交的復選框不會被提交,因此您在保存時必須檢入控制器。
<?php
$public = 0; // set default value as `0` indicating post is not public
if(isset($_POST['public'])) {
$public = 1; // if the public checkbox is checked while sumitting the form then set value as `1`
}
使用$public
值在數據庫中存儲/更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.