如何将复选框存储为在数据库中检查

时间:2016-06-09 08:01:13

标签: php mysql laravel laravel-5.2

所以我有三个刀片,添加和编辑。 在我的数据库表中,我有一个架构,如: Schema :: create('categories',function($ table)

    {
        $table->increments('id');
        $table->string('status')->nullable();
        $table->integer('category');
    });

在我的添加刀片中,我尝试了类似的内容:

                            <div class="form-group">
                                <script>
                                    init.push(function () {
                                        $('#categories-status').switcher({
                                            theme: 'checkbox',
                                            on_state_content: '<span class="fa fa-check"></span>',
                                            off_state_content: '<span class="fa fa-times"></span>'
                                        });
                                    });
                                </script>
                                <label for="category">Speciality</label>
                                <input type="checkbox" name="status" id="categories-status" id="categories-status" value="">
                            </div>

在我的控制器中,我有一个函数“postSave”,我使用

 $category->status = ($request->input('status') == 'on') ? 1 : 0;

存储状态。 然而,我没有得到我想要的结果,它不会保存为被检查。 在我的索引刀片中,我在如下表格中显示复选框:

<td>{{ ($category->status == 1) ? 'Active' : 'Inactive' }}</td>

2 个答案:

答案 0 :(得分:0)

假设您的"categories.status"列可以为空,您只需检查它是否已设置:

<td>{{ ($organization->status) ? 'Active' : 'Inactive' }}</td>

答案 1 :(得分:0)

如果您使用的是刀片模板,请以Laravel方式执行:

Form :: checkbox('name','value')

有关详细信息,请查看https://laravelcollective.com/docs/5.2/html