2017-08-16 52 views
0

我有2個控制器,一個是負責提交表單到數據庫,另一個是貝寶集成像這樣的: -Laravel調用控制器內的控制器

http://laravelcode.com/post/how-to-integrate-paypal-payment-gateway-in-laravel-54

我想它這樣當用戶按下提交按鈕時,它將執行其通常的數據庫交易,但隨後會調用PayPal控制器來處理付款。

將2個控制器合併爲一個或將PayPal控制器作爲商店方法的一部分調用是更好嗎?

+0

恕我直言,保持聯繫。也許在不久的將來,您需要添加更多工資單 – aaron0207

回答

1

您可以使用以下方法調用另一個控制器。

$controller = app()->make('App\Http\Controllers\PaypalController'); 
app()->call([$controller, 'process'], [$request]); 

如果你的控制器函數定義爲:雖然不是最好的做法,我已經使用這個調用在一個控制檯命令,並以URL引用的函數

public function process(Request $request) {} 

-1

在裏面做了DB交易,嘗試重定向到您的支付寶功能的功能:

public function myDBFunc() { 
    /* do transactions */ 

    return redirect()->route('paypalRoute'); 
    // or return redirect()->action('[email protected]'); 
} 

不要忘了你的變量傳遞給你的路線/動作。