如何只检查laravel数据库中存储的复选框值?

开发者

我面临一个问题,即所有复选框均已选中。我只希望选中在数据库中具有值的复选框。

I have these three tables where place_category is the pivot table 
-------  --------------   ----------
places  place_category    categories 
------  --------------    ----------
id         place_id           id
name       category_id        name

eloquent relationships are set.
Here I'm trying to associate many categories for one place but I want only the categories that I added to that place to be checked in the checkbox.
...........

 @foreach($categories as $category)
    <div class="col-lg-3">
         <div class="form-group">

           <input type="checkbox" name="category[]" value="{{$category->id}}" {{isset($category) ? 'checked': '' }} >{{ $category->name }}<br>
                                        </div>
                                </div>

 @endforeach

我的病情有问题吗?{{isset($ category)吗?'已检查':”}}

问题是您$category将始终以这种方式设置,它将始终返回true。

您可能正在遍历所有类别,因此您需要将类别与产品或视图中的任何产品进行比较,并检查类别ID是否是为该产品选择的类别ID。如下所示:

@foreach($categories as $category)
<div class="col-lg-3">
    <div class="form-group">
        <input type="checkbox" name="category[]"
           value="{{$category->id}}"
           @if($category->id === $model->category_id) 'checked' @endif>
           {{ $category->name }}<br>
    </div>
</div>
@endforeach

现在,此代码仅在将类别附加到要列出的模型时才检查类别。如果这对您来说还不够,请从控制器显示更多代码,并从视图中获得更好的帮助。

-编辑

根据您的编辑,您正在那里使用多对多关系..这样就可以做到:

@if($place->categories->contains($category->id)) 'checked' @endif

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 Laravel 中的复选框在数据库中存储是或否值

Laravel-在数据库中存储多个复选框表单值

如何接收多个复选框值并正确存储在数据库中?

如果值存储在数据库中,如何获取复选框?

如何将多个复选框值发送到laravel中的数据库?

基于数据库值的Perl复选框检查

在数据库中存储多维复选框

Laravel 根据数据库值设置复选框

复选框使用jquery检查值是否在php中的数据库中

在 Web 表单中选中复选框时如何自动将值存储在数据库中

如何将选定的复选框 ID 存储到我在 Laravel 8 上的数据库中

如何根据数据库值检查或取消选中复选框列表项

如何在 MySql 数据库中将复选框值存储为是 - PHP

使用经典ASP根据数据库中的值检查多个复选框

如何在带有复选框laravel的表单中使用旧值或数据库中的值

我正在尝试将复杂的复选框形式的值存储在mysql数据库中

将多个复选框值存储到 php mysqli 数据库中

如何从数据库填充jtable复选框值?

更新数据库中的复选框值

数据库中的复选框值有问题...?

显示在laravel中从数据库选中的复选框

Laravel 6:如何在注册时将复选框值传递到数据库用户表中

如何使用PDO Connection将乘法复选框存储到数据库中

如何将laravel复选框值插入数据库?

如何在Laravel中将复选框值插入数据库?

根据Laravel中的复选框将字段的值提交给数据库

将复选框值保存到laravel中的数据库

如何将复选框中的值添加到数据库

如何使用php在数据库的单列中插入多个复选框值