如何显示 Laravel 中选择的附加值?
How to display attached values as selected in Laravel?
我在 laravel 8 中使用多对多关系。有两种模型:房间和服务。
我已将一些服务附加到特定的房间,现在,当我想编辑这个特定的房间时,我需要它来显示选择了哪些服务,哪些没有。
这是我正在使用的代码:
<select class="form-select" name="service_id[]" id="service_id" multiple>
@foreach($services as $service)
<option value="{{ $service->id }}" @if($rooms->services->in_array()) selected @endif>{{ $service->name }}</option>
@endforeach
</select>
有什么建议吗?
在你的控制器上试试这个:
$RoomServicesIds = [];
foreach($room->services as $service ){
array_push($RoomServicesIds ,$service->id);
}
然后 return $RoomServicesIds
变量与您的 blade 文件
在您的 blade 文件中将条件更改为:
@if(in_array($service->id,$RoomServicesIds)) selected @endif
你可以这样做:
@if(in_array($service->id, $rooms->services->pluck('id')->toArray(), true)) selected @endif
我在 laravel 8 中使用多对多关系。有两种模型:房间和服务。 我已将一些服务附加到特定的房间,现在,当我想编辑这个特定的房间时,我需要它来显示选择了哪些服务,哪些没有。
这是我正在使用的代码:
<select class="form-select" name="service_id[]" id="service_id" multiple>
@foreach($services as $service)
<option value="{{ $service->id }}" @if($rooms->services->in_array()) selected @endif>{{ $service->name }}</option>
@endforeach
</select>
有什么建议吗?
在你的控制器上试试这个:
$RoomServicesIds = [];
foreach($room->services as $service ){
array_push($RoomServicesIds ,$service->id);
}
然后 return $RoomServicesIds
变量与您的 blade 文件
在您的 blade 文件中将条件更改为:
@if(in_array($service->id,$RoomServicesIds)) selected @endif
你可以这样做:
@if(in_array($service->id, $rooms->services->pluck('id')->toArray(), true)) selected @endif