在 laravel 中检查 $request 是否为空

Check if $request is empty or not in laravel

我有一个用户详细信息页面,当他添加他的详细信息时,他可以去结帐页面输入银行卡详细信息。

详情页面的路线

Route::get('/checkout', 'CheckoutController@index')->name('checkout.index')->middleware('auth');
Route::post('/checkout', 'CheckoutController@store')->name('checkout.store');

当他添加这些信息后,他可以访问这样的支付页面:

Route::get('/checkout/payment', 'CheckoutController@payment')->name('checkout.payment');
Route::post('/checkout/payment', 'CheckoutController@paymentstore')->name('payment.store');

如果用户尝试直接访问 /checkout/payment 而不添加信息,我想将用户重定向到 /checkout 页面。

我的控制器

public function payment() {
    if(Cart::instance('default')->count() > 0) {
        if($request) {
            return view('checkoutpayment');
        }

        return redirect()->route('Checkout.index')
            ->withError('Please add your personal details to complete the checkout.');
    }

    return redirect()->route('cart.index')
        ->withError('You have nothing in your cart, please add some products first');
  }

$request只适用于单个请求,因此您无法在支付页面获取数据。但是 session 绝对可以帮助你,所以首先你必须使用 $request->session() 在会话中存储你的用户数据,然后你必须使用 $request->session()->has() 检查支付页面上是否有数据可用方法。