class A1{
protected $dispatchesEvents = [
'saving' => A1SavingEvent::class,
];
.....
.....
}
//The handle method of the Listener for the A1SavingEvent
public function handle(){
if(count(A1->B1) > 5){
throw CountExceededException('You already have 5 relations')
}
}
1条答案
按热度按时间vxbzzdmp1#
我不认为有一个内在的方式来做这件事在拉威尔。如果我对你的问题理解正确,你可以研究的是拉威尔模型事件
雄辩的模型引发几个事件,允许您连接到模型生命周期中的以下几点:检索、创建、创建、更新、保存、保存、删除、删除、还原、还原。事件允许您在每次数据库中保存或更新特定模型类时轻松地执行代码。
所以你可以参与其中一个事件,比如
creating
,saving
然后检查数据库是否有适当数量的关系,并通过抛出一些异常来停止db操作这里的伪代码可能会有所帮助
文档链接