Laravel与3列同步

时间:2017-07-27 10:02:13

标签: php laravel

我有一张名为relations(业务关系)的表格。关系可以有其他关系(业务关系)。

所以我有一个数据透视表。但是,有两种类型的关系internalexternal

我的表格结构如下:

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_idrelation_child_id同步,但在我的情况下,它也需要与type同步。

因为现在他们互相覆盖。

假设请求中包含以下内容:

1
2
internal

1
2
external

我最终会选择其中一个。

如果您有更多问题,请告诉我们。

0 个答案:

没有答案