【问题标题】:I get duplicate entries with the attach method in Laravel 5. Not sure what the problem is我在 Laravel 5 中使用 attach 方法得到了重复的条目。不确定问题是什么
【发布时间】:2018-10-11 13:40:26
【问题描述】:

所以我试图将带有一些元数据的 id 附加到 Laravel 5 中的数据透视表。

由于某种原因,我在应该有一个的地方插入了两个插入,并且第二次插入了错误的 ID。

我不确定这里是否有我可能遗漏的东西。

这是代码:

$match_values = array(
                    'dataId' => $result->id,
                    'dataMetaId' => $the_meta->id
                );

                $result->campaignDataMeta()->attach($match_values, [
                    'meta_value' => $value
                ]);

数据库结构由一个用于电子邮件营销活动的主campaignData 表、一个用于电子邮件元数据名称的campaignDataMeta 表(id​​、时间戳、名称)和一个查找表campaignDataMatches(id、campaignDataId、campaignDataMetaId、meta_value)组成。

在campaignDataMatches 中,我有时会将campaignDataId 值插入到campaignDataMeta 列中。

【问题讨论】:

  • 您需要更具描述性。哪些身份证?什么是数据库结构?模型中的关系函数如何?否则谁也帮不了
  • @Tapha,你能提供更多来自这个特定函数的代码上下文吗?以及模型类?

标签: laravel laravel-5 pivot-table lookup-tables


【解决方案1】:

我已经解决了这个问题。

显然必须在附加参数中添加相关 ID(在本例中为 dataMetaId)。

像这样:

$result->dataMeta()->attach([$data_meta_id => [
                    'meta_value' => $value
                ]]);

【讨论】:

    【解决方案2】:

    检查数据库列主要可能 dataId 和 metaId 都是主要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-08
      • 2016-09-24
      • 2015-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      相关资源
      最近更新 更多