我创建了以下数据库结构来管理不同批次的不同服务内容,并且正因为也必须为子服务复制此结构,所以我决定在Laravel中使用“多对多多态关系”。
要在表“ service_and_relatives_contents”中创建新记录,并在表“ service ____ relative_content_batch_a”(我的数据透视表)中创建另一个关联记录,我使用了:
$service -> relatives() -> create($arrRelatives)
该代码的问题是我无法在数据透视表中填充“ batches_id”字段。 因此,我使用了以下代码:
$relativeId = $service->relatives()->create($arrRelatives)->id;
$service->relatives()->updateExistingPivot($relativeId,['batches_id'=>$keyRelatives]);
它运作良好,但是是同时创建和关联记录的正确方法吗?
请以这为例,我将对表名使用laravel约定,对实时版本使用外键。