我有一张名为relations
(业务关系)的表格。关系可以有其他关系(业务关系)。
所以我有一个数据透视表。但是,有两种类型的关系internal
和external
。
我的表格结构如下:
relation_parent_id
relation_child_id
type
所以现在我有了这个:
控制器:
$relation->syncRelations($request->relations_internal, 'internal');
$relation->syncRelations($request->relations_external, 'external');
关系模型:
public function syncRelations($relations, $type)
{
$relations = collect($relations)->mapWithKeys(function($relation) use ($type) {
return [$relation => ['type' => $type]];
})->toArray();
$this->relations()->sync($relations);
return $this;
}
问题是它与relation_parent_id
和relation_child_id
同步,但在我的情况下,它也需要与type
同步。
因为现在他们互相覆盖。
假设请求中包含以下内容:
1
2
internal
1
2
external
我最终会选择其中一个。
如果您有更多问题,请告诉我们。