Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.12.2017 19:05:13

m2m Pivot

Здравствуйете.

Есть 3 таблици связанные м2м

Carriers
- id
- name
...

Zones
- id
- name
...

Carrier Zone
- carrier_id
- zone_id
- price

Связи все правильно настроены, и все четко сохраняется. Проблема при обновлении.
К примеру захожу редакировать carrier #1, Надо выделить активные зоны, и цены.Вот как в шаблоне это выглядит.

@foreach($zones as $i => $zone)
            <div class="form-group row">
                <label class="control-label col-sm-3" for="zone-{{ $zone->id }}">
                    <span>{{ $zone->name }}</span>
                </label>
                <div class="col-sm-1">
                    <label>
                        <input type="checkbox" name="zone[{{ $i }}]" value="{{ $zone->id }}"  {{ old('zone.' . $i, in_array($zone->id, $carrier->old_zones)) ? 'checked' : '' }}>
                    </label>
                </div>
                <div class="col-sm-2 p-x-0">
                    <div class="input-group">
                        <span class="input-group-addon">$</span>
                        <input type="number" name="price[{{ $i }}]" class="form-control form-control-custom" value="{{ old('price.' . $i) }}" id="zone-{{ $zone->id }}" />
                    </div>
                </div>
            </div>
        @endforeach
// Model Carrier
/**
     * Get old carrier zones
     *
     * @return mixed
     */
    public function getOldZonesAttribute()
    {
        return $this->zones->pluck('id')->all();
    }

    /**
     * Gel old carrier zone prices
     *
     * @return mixed
     */
    public function getOldPricesAttribute()
    {
        return $this->zones->pluck('pivot.price')->all();
    }

Вот как поставить старую цену? С активной зоной нет проблем, а вот с ценой. Помогите пожалуйста

Не в сети

Подвал раздела