首页 > 解决方案 > Livewire - 投射输入值

问题描述

在 Livewire 上,我有一个 foreach 循环来显示这样的复选框列表:

@foreach($restaurantCategories as $category)
        <div class="d-flex flex-column switch-cat">
              <label class="form-check-label mb-50" for="{{$category->id}}">{{$category->id}} - {{$category->name}}</label>
                    <div class="form-check form-check-warning form-switch">
                            <input type="checkbox"
                                   class="form-check-input" value={{$category->id}}
                                   @if(array_has($restaurant_categories, $category->id)) checked @endif 
                                   wire:model="restaurant_categories"
                             />
                    </div>
         </div>
 @endforeach

它工作正常,但是当我选中一个复选框时,该值restaurant_categories作为字符串添加到组件中,我需要将其添加为整数值。

我无法转换,$category->id因为它来自数据透视表,并且始终以整数形式出现。

标签: htmllaravel-livewire

解决方案


protected $casts = [
    'restaurant_categories' => 'integer',
];

推荐阅读