gpt4 book ai didi

php - laravel morphToMany 在数据透视表中有附加字段

转载 作者:行者123 更新时间:2023-12-05 07:30:08 30 4
gpt4 key购买 nike

我创建了以下数据库结构来管理不同批处理的不同服务内容,只是因为这个结构也必须为子服务复制,所以我决定在 Laravel 中使用“多对多多态关系”。

img database structure.

要在表“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 约定的表名和 live 版本的外键。

最佳答案

我想创建一个多对多的多态查询构建器

               |-----------------------------------------|
User::join(table_a, user.id, forein.id)->join(table_b, table_a.id, forein.id)
|----------------------|

> $res = User::join('model_has_roles','users.id','model_id')->join('role_has_permissions','model_has_roles.role_id','model_id')->get()

谢谢

关于php - laravel morphToMany 在数据透视表中有附加字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52423464/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com