【问题标题】:Save if new many to many relationships Laravel Eloquent保存新的多对多关系 Laravel Eloquent
【发布时间】:2017-07-17 06:34:20
【问题描述】:

我有两个模型:Event 和 Soundcloud。

在 Laravel 中,两者都被定义为多对多关系,并且运行良好。

我正在保存 soundcloud 并通过这样做填充数据透视表 event_soundcloud

foreach ($data as $artist => $url) {
     $soundcloud = Soundcloud::firstOrNew(['artist_name' => $artist, 'link' => $url]);
    $event->soundclouds()->save($soundcloud);
}

该函数每 10 分钟调用一次,每次将相同的记录添加到数据透视表中。

有没有办法做同样的事情,但只有在数据透视表不存在的情况下才在数据透视表中添加记录? 谢谢

【问题讨论】:

    标签: laravel eloquent many-to-many


    【解决方案1】:

    这是我为使其工作所做的工作。我想你不能一步完成

     $soundcloud = Soundcloud::firstOrNew(['artist_name' => $artist, 'link' => $url]);
     $soundcloud->save();
     $event->soundclouds()->sync([$soundcloud->id], false);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-12
      • 2014-09-02
      • 2019-06-13
      • 2019-03-26
      • 1970-01-01
      • 2013-05-15
      • 2014-09-27
      • 1970-01-01
      相关资源
      最近更新 更多