我正在尝试在Laravel应用程序中返回上次更新的ID。我有一个付款插入数据库。当PayPal退款时,IPN会将payment_status更新为"退款"。现在更新后,需要返回更新列的id。但是我变得无效了。这是我尝试过的。
第一种方法:
$is_updated = $this->whereTxnId($ipn_array['parent_txn_id'])
->update(array(
'payment_status' => $ipn_array['payment_status'],
'refund_txn_id' => $ipn_array['txn_id']
));
if($is_updated) {
return $this->id;
}
第二种方法:
$txn_id_matching = $this->whereTxnId($ipn_array['parent_txn_id']);
$txn_id_matching->payment_status = $ipn_array['payment_status'];
$txn_id_matching->refund_txn_id = $ipn_array['txn_id'];
$is_updated = $txn_id_matching->save();
if($is_updated) {
return $txn_id_matching->id;
}
如何检索更新的ID?
答案 0 :(得分:0)
使用第二种方法
$is_updated->id
答案 1 :(得分:0)
我使用以下代码修复了它。我不知道这段代码是否有效,但它解决了我的问题。
public function unlockIpnUpdate($ipn_array) {
$is_updated = $this->whereTxnId($ipn_array['parent_txn_id'])
->update(array(
'payment_status' => $ipn_array['payment_status'],
'refund_txn_id' => $ipn_array['txn_id']
));
$txn_id_matching = $this->whereTxnId($ipn_array['parent_txn_id'])->first();
if($is_updated) {
return $txn_id_matching->id;
}
return false;
}