2017-08-16 9 views
0

私は2つのコントローラを持って、一方が他方には、このようなこの1としてPayPalの統合のためにある、DBへのフォームを送信する責任がある: - 私はそれをしたいLaravelは、コントローラ内のコントローラを呼び出す

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

ユーザーが提出ボタンを押すと、通常のDBトランザクションが行われますが、PayPalコントローラを呼び出して支払いを処理します。

2つのコントローラを1つにマージしたり、Storeメソッドの一部としてPayPalコントローラを呼び出す方がよいですか?

+0

IMHO、それを保つ。近い将来、あなたはさらに多くの給料明細を追加する必要があります – aaron0207

答えて

1

次の方法で別のコントローラを呼び出すことができます。

お使いのコントローラ機能は次のように定義されて
$controller = app()->make('App\Http\Controllers\PaypalController'); 
app()->call([$controller, 'process'], [$request]); 

:最大の練習は、私はコンソールコマンドでとURLで参照される関数を呼び出すためにこれを使用していないが

public function process(Request $request) {} 

。 DBトランザクションを行う機能で

-1

、あなたのpaypal機能にリダイレクトしてみてください:

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

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

は、あなたのルート/アクションにあなたの変数を渡すことを忘れないでください。

関連する問題