[英]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_id
的entries
。
它不是触发器,因为触发器的结构要复杂得多,它只是定义关系并告知如果相关的父记录将被删除该怎么做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.