[英]How I can pass the data between two controllers?
First controller is this DataFormController首先controller就是这个DataFormController
class DataFormController extends \App\Http\Controllers\Controller
{
public function getDataForm(Request $request) {
$model = $request->model;
$uuid = $request->uuid;
//some codes
return response()->json(['status' => 'success',
'settings' => $settings, 'form' => $form,
'relations' => $relations, 'values' => $values,
'dates' => $dates, 'actions' => $actions,
'translations' => $translations, 'count' => $count,
'max' => $limitationMax, 'limitReached' => $limitReached,
],
200);
}
I want to pass data values from DataFormController to another controller PointController我想将数据值从 DataFormController 传递到另一个 controller PointController
class PointController extends Controller {
public function newTransaction(Request $request){
//Some codes
}
}
How can i solve this problem我怎么解决这个问题
use App\Http\Controllers\PointController;
class DataFormController extends Controller
{
public function getDataForm(Request $request) {
$model = $request->model;
$uuid = $request->uuid;
//some codes
$response = ['status' => 'success',
'settings' => $settings, 'form' => $form,
'relations' => $relations, 'values' => $values,
'dates' => $dates, 'actions' => $actions,
'translations' => $translations, 'count' => $count,
'max' => $limitationMax, 'limitReached' => $limitReached];
$transactionReq = new Request($response);
/**
* if you declared the newTransaction as static you
* can call that function as below
*/
PointController::newTransactionStatic($transactionReq);
/**
* If the function is not static
*/
$pointController = new PointController();
$pointController->newTransactionNonStatic($transactionReq);
return response()->json($response,200);
}
You can declare the functions as static or non static as you desire, if you want to get the request in pointcontroller:如果您想在 pointcontroller 中获取请求,您可以根据需要将函数声明为 static 或非 static:
class PointController extends Controller {
/**
* NON STATIC FUNCTION
*
* @param Request $request
* @return void
*/
public function newTransactionNonStatic(Request $request){
//Some codes
}
/**
* STATIC FUNCTION
*
* @param array $request
* @return void
*/
public static function newTransactionStatic(Request $request){
//Some codes
}
}
If you want to get the "dates","count","values" from DataFormController:如果您想从 DataFormController 获取“日期”、“计数”、“值”:
$pointsData = \Arr::only($response,['dates','count','values']);
/**
* if you declared the newTransaction as static you
* can call that function as below
*/
PointController::newTransactionStatic($pointsData);
/**
* If the function is not static
*/
$pointController = new PointController();
$pointController->newTransactionNonStatic($pointsData);
Since we are passing the values as array change it accordingly in the point controller由于我们将值作为数组传递,因此在点 controller 中相应地更改它
class PointController extends Controller {
/**
* NON STATIC FUNCTION
*
* @param array $request
* @return void
*/
public function newTransactionNonStatic(array $request){
$dates = $request['dates'];
$count = $request['count'];
$values = $request['values'];
/**
* Or for easier way call the extract php function
* eg : extract($request);
* then easily use the array keys as variables
* -> $dates, $count, $values etc.
*/
}
/**
* STATIC FUNCTION
*
* @param Request $request
* @return void
*/
public static function newTransactionStatic(array $request){
$dates = $request['dates'];
$count = $request['count'];
$values = $request['values'];
/**
* Or for easier way call the extract php function
* eg : extract($request);
* then easily use the array keys as variables
* -> $dates, $count, $values etc.
*/
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.