'array' ]; public function fields(): BelongsToMany { return $this->belongsToMany(Field::class, 'fields_group_fields', 'group_id')->orderByPivot('ord'); } public function objectType(): BelongsTo { return $this->belongsTo(ObjectType::class); } public function syncFields(array $fieldsNames) { $data = []; collect($fieldsNames)->each(function($name, $i) use(&$data) { if ($field = Field::query()->where('name', $name)->first()) $data[$field->id] = ['ord' => $i]; }); $this->fields()->sync($data); } }