Laravel 5.8从多对多关系中获取当前模型信息

时间:2019-06-03 05:38:41

标签: laravel laravel-5

我有三个表:

  1. 酒店

  2. hotel_feature

  3. hotel_feature_assing

“酒店”和“ hotel_feature”都具有多对多关系。

在“ hotel_feature_assing”中,我将保存酒店的ID和地图项的ID。

在编辑部分中,我有一个复选框,如果当前酒店(正在编辑的酒店)具有此功能,我想将该复选框显示为 public function features() { return $this->belongsToMany(HotelFeature::class, 'hotel_feature_assigns'); }

如何检查是否已分配当前酒店以选中我的复选框?

这是我的酒店模特:

  public function hotel()
   {
     return $this->belongsToMany(Hotel::class);
   }

以及在HotelFeature模型中:

@foreach($hotelfeatures as $key => $hotelfeature)
                    <input type="checkbox" name="idhotelfeature[]" id="idhotelfeature" value="{{ $hotelfeature->id }}"
                        style="margin-right:5px" @if ($hotel->is_feature)
                    checked
                    @endif><span class="font-weight-normal">{{ $hotelfeature->name_fa }}</span>
 @endforeach

这是我的复选框:

class SimpleDataset(dataset.DatasetMixin):
    def __init__(self, Images):
        self.Images = Images
    def __len__(self):
        return len(self.Images)
    def get_example(self, i):
        return self.Images[i]

1 个答案:

答案 0 :(得分:0)

您可以将酒店的一系列功能ID传递给视图,例如:

$hotel->features->first()->users->pluck('id')->all();

$hotel是您正在查看的酒店的实例,那么您可以在视图循环中使用该ID数组来决定应不选中哪个复选框。