我有如下更新集合的代码
Transaction::whereIn('id', $inProcessIds)
->update([
'transfer_status' => SaleTransaction::TRANSFER_STATUS_TRANSFERRED
]);
在交易中,我与另一型号有关联
public function sale_offer() {
return $this->hasOne('AppSaleOffer', 'sale_offer_id', 'id');
}
我想做的是在更新交易时立即更新相关模型
以下是我尝试做的
Transaction::whereIn('id', $inProcessIds)->with('sale_offer')
->update([
'transfer_status' => SaleTransaction::TRANSFER_STATUS_TRANSFERRED
'transaction.sale_offer => 1'
]);
或
Transaction::whereIn('id', $inProcessIds)->sale_offer()
->update([
'transfer_status' => SaleTransaction::TRANSFER_STATUS_TRANSFERRED
'transaction.sale_offer => 1'
]);
]);
您可以通过从事务表中提取sale_offersid来更新相关模型,然后更新sale_offer:
$sale_offer_ids=Transaction::whereIn('id', $inProcessIds)->with('sale_offer')->pluck('sale_offer_id')->toArray();
然后更新销售报价:
SaleOffer::whereIn('id',$sale_offer_ids)->update(['amount_sent'=>$amount_sent]) ;