我有一个账单,其中有很多交易具有以下关系:
结算单:
Select operation.
1.Price of your luggage
2.Exit
Enter choice(1/2:1
Enter wieght of your first luggage 12
Your first item is free
交易模型:
public function transaction()
{
return $this->belongsTo(Transaction::class, 'transaction_id');
}
在交易失败的情况下,我需要从该交易中删除所有账单,并将transaction_id设置为null。
可以通过以下方式实现:
public function Bills()
{
return $this->hasMany(Bill::class, 'transaction_id');
}
有什么方法可以执行大规模dissociate()吗?也许像这样:
foreach($transaction->bills as $b) {
$b->dissociate()->save();
}
答案 0 :(得分:0)
去那里:
$transaction = Transaction::where('your specifications')->first();
$transaction->bills->delete();
$transaction->save()
更新:
我不认为直接在整个馆藏上可能分离。 也许您可以在事务模型上创建一个函数,例如:
public function dissociateBills(){
foreach($this->bills as $b) {
$b->dissociate()->save();
}
$this->save();
}
,然后从控制器调用特定交易的函数,例如:
$transaction = Transaction::where('your specifications')->first();
$transaction->dissociateBills();