duandongji2231 2014-11-28 00:18
浏览 146
已采纳

PHP:返回Laravel 4中更新行的ID

I am trying to return the last updated ID in my Laravel application. I have a payment inserted into the database. When there is refund from PayPal the IPN will update the payment_status to "Refunded". Now after updating this needs to return the id of the updated column. But I am getting null. Here is what I have tried.

1st method:

    $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;
}

2nd method:

$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;
}

How can I retrieve the updated id?

  • 写回答

2条回答 默认 最新

  • douqing5981 2014-11-28 03:16
    关注

    I fixed it using the below code. I do not know if this code is efficient but it fixed my issue.

    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;
    
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部