Size: a a a

Laravel для начинающих

2020 March 07

RK

Roman Kolosov in Laravel для начинающих
xDD
В массиве приходит всё красиво, после
$item->specifications()->sync($result['specifications']);
Несколько значений могут стать одинаковыми
Эм а примеры
источник

x

xDD in Laravel для начинающих
public function specifications()
   {
       return $this->belongsToMany(Specification::class)->withPivot(['value']);
   }

return [
           'item' => $item,
           'item.specifications' => $item->specifications()->where('status', true)->get(['specification_id', 'value'])->toArray()
       ];

Field::group([
               Select::make('specification_id')
                   ->title(trans('base.main.category'))
                   ->fromQuery(Specification::where('status', true), 'title', 'id')
                   ->empty(trans('base.not.select'), 0),

               Input::make('value')
                   ->type('text')
                   ->title(trans('base.value'))
                   ->max(255)
                   ->required(),
           ]),
источник

x

xDD in Laravel для начинающих
И вот имассив

array:3 [▼
 0 => array:2 [▼
   "specification_id" => "4"
   "value" => "500"
 ]
 1 => array:2 [▼
   "specification_id" => "4"
   "value" => "500"
 ]
 2 => array:2 [▼
   "specification_id" => "3"
   "value" => "20"
 ]
]
источник

x

xDD in Laravel для начинающих
Тут результат бредового сохранения
источник

x

xDD in Laravel для начинающих
До обновления каждое значение и id разные, после обновления вот такой результат и я не могу понять почему
источник

x

xDD in Laravel для начинающих
Сейчас сделал так
$item->specifications()->sync([
           1 => ['specification_id' => 1, 'value' => 'red'],
           2 => ['specification_id' => 2, 'value' => 100],
           3 => ['specification_id' => 3, 'value' => 200]
       ]);
источник

x

xDD in Laravel для начинающих
Ничего не менял, несколько раз сохранил и снова пошел какой-то бред
источник

RK

Roman Kolosov in Laravel для начинающих
Эммм а у тебя есть айдишники у спецификаций?
источник

RK

Roman Kolosov in Laravel для начинающих
Вплане в пивот таблице
источник

RK

Roman Kolosov in Laravel для начинающих
Есть айди?
источник

RK

Roman Kolosov in Laravel для начинающих
Своё
источник

x

xDD in Laravel для начинающих
Да, в том то и дело, из массива видим что там 3 значения, сейчас пару раз сохранил и что вижу в БД, мало того что нескоторые значения стали red, так их стало уже 5
источник

x

xDD in Laravel для начинающих
id | product_id | specification_id | value |
+----+------------+------------------+-------+
| 29 |          1 |                1 | red   |
| 30 |          1 |                1 | red   |
| 31 |          1 |                1 | red   |
| 32 |          1 |                2 | 100   |
| 33 |          1 |                3 | 200
источник

RK

Roman Kolosov in Laravel для начинающих
В пивоте не должно быть айди
источник

RK

Roman Kolosov in Laravel для начинающих
Если там есть айди это уже модель
источник

RK

Roman Kolosov in Laravel для начинающих
Вот и ответ
источник

RK

Roman Kolosov in Laravel для начинающих
Синк смотрит на все поля
источник

RK

Roman Kolosov in Laravel для начинающих
А не выборочно
источник

RK

Roman Kolosov in Laravel для начинающих
У тебя по сути идентификатором пивота является продукт+спецификейшен+валуе
источник

RK

Roman Kolosov in Laravel для начинающих
Айди там не надо
источник