简体   繁体   English

在 laravel 中无法检索最后插入的记录 ID

[英]Last inserted record id cannot be retrieved in laravel

I'm trying to print last inserted record id of my stripe subscription table.我正在尝试打印我的条带订阅表的最后插入的记录 ID。

This is what I have done so far,这是我到目前为止所做的,

public function subscribe(Request $request)
    {
     
        $user = auth()->user();
        $paymentMethod = $request->payment_method;
        $appId = $request->appId;
        $planId = $request->plan;
        $user->newSubscription('main', $planId)->create($paymentMethod);

        $AppPayment = DB::table('subscriptions')->insertGetId();

        return $AppPayment;
        dd($AppPayment);
    
        

       $this->activateApp($appId);
       

    }

The record has created but I'm not getting the dd output..记录已创建,但我没有得到dd output..

you need to insert record here.您需要在此处插入记录。 This should be the place to insert the record.这应该是插入记录的地方。

    $id = DB::table('subscriptions')->insertGetId(['foo'=>'bar']);

dd($id);

Update if you use cashier, check this code.如果您使用收银员更新,请检查此代码。

public function subscribe(Request $request)
    {

        $user = auth()->user();
        $paymentMethod = $request->payment_method;
        $appId = $request->appId;
        $planId = $request->plan;
        $subscription = $user->newSubscription('main', $planId)->create($paymentMethod);
        dd($subscription->id);
        return $AppPayment;

       $this->activateApp($appId);


    }

check your data array there is nothing insterting that is why id not getting检查您的数据数组,没有任何内容,这就是 id 没有得到的原因

$dataArray = [
            'column_name' => $request->inputFieldName,
                  ];
$AppPayment = DB::table('subscriptions')->insertGetId($dataArray);

This should work after you create the subscription:创建订阅后,这应该可以工作:

$user->subscription->id;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM