繁体   English   中英

Laravel:删除雄辩的聚合

[英]Laravel: Deleting Eloquent aggregates

我正在寻找一种销毁口才的聚合的策略,例如“包含”其他模型的模型。

在Ruby on Rails的ActiveRecord中,在定义关系时可以放置一个dependent: :destroy选项,这意味着,例如,如果删除了order ,那么order_lines必须走。

Laravel有类似的东西吗? 还是除了手动清理并将其包装在事务中以外的其他替代方法?

如果使用Laravel模式构建器,则应使用外键,并为外键添加例如:

$table->foreign('entry_id')
    ->references('id')
    ->on('entries')
    ->onDelete('CASCADE');

您当然可以在例如phpMyAdmin中执行相同的操作。

使用这种构造时,如果在这种情况下将删除entries记录,则将从该表中自动删除具有与正在删除的entries中的id相同的entry_identries

它不是触发器,因为触发器的结构要复杂得多,它只是定义关系并告知如果相关的父记录将被删除该怎么做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM