【问题标题】:How to implement Cascade on Delete in laravel One to many relation?如何在 laravel 一对多关系中实现级联删除?
【发布时间】:2021-12-06 09:16:08
【问题描述】:

我的应用程序是关于清单的,在每个清单中我都有很多标签。 所以我有清单和标签模型。 checklist 的响应如下所示:

{
    "checklistId": 52,
    "userId": 17,
    "title": "new titile",
    "created_at": "2021-12-05T12:33:48.000000Z",
    "updated_at": "2021-12-05T12:33:48.000000Z",
    "tabs": [
        {
            "tabId": 152,
            "checklistId": 52,
            "name": "Default",
            "created_at": "2021-12-05T12:33:48.000000Z",
            "updated_at": "2021-12-05T12:33:48.000000Z"
        }
    ]
},

我想在删除时实现级联,所以当我从清单表中删除行时,tabs表中所有具有checklistId的行也将被删除。

【问题讨论】:

标签: mysql laravel


【解决方案1】:
class Checklist extends Eloquent
{
    public function tabs()
    {
        return $this->hasMany(Tabs::class);
    }

    public static function boot() {
        parent::boot();

        static::deleting(function($checklist) { 
             $checklist ->tabs()->delete();
        });
    }
}

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2013-08-21
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 2012-01-10
相关资源
最近更新 更多