【问题标题】:Livewire - Cast input valueLivewire - 投射输入值
【发布时间】:2021-11-11 08:16:33
【问题描述】:

在 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-&gt;id,因为它来自数据透视表并且始终以整数形式出现。

【问题讨论】:

    标签: html laravel-livewire


    【解决方案1】:
    protected $casts = [
        'restaurant_categories' => 'integer',
    ];
    

    【讨论】:

    • 感谢您的回答,但“restaurant_categories”实际上是一个数组。解决方案可能是:protected $casts = [ 'restaurant_categories.*' => 'integer', ];强制数组元素为整数,但甚至不能解决我的问题。
    猜你喜欢
    • 2020-12-22
    • 2021-01-10
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    相关资源
    最近更新 更多