簡體   English   中英

Laravel中表單的值錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM