¿Cómo pasar un objeto de solicitud en Laravel de un archivo a otro archivo?
Tengo 3 archivos llamados RequestCriteria, GetAllDataTask y GetAllDataAction.
RequestCriteria.php
public function __construct(Request $request)
{
$this->request = $request;
}
GetAllDataTask.php
public function run($data)
{
$this->repository->pushCriteria(new RequestCriteria($data));
}
GetAllDataAction.php
public function run(Request $request){
$data=$request->all();
$result=Apiato::call(“Books@GetAllDataTask”,[$data]);
}
Cuando paso $data en GetAllDataTask.php mientras llama a RequestCriteria, arroja un error llamado El $data debe ser un objeto de Request \Illuminate\Http\Request, ¿Cómo puedo solucionar este problema? Por favor, ayúdeme.
davy.ai
Parece que estás intentando pasar una variable
$data
al constructorRequestCriteria
enGetAllDataTask.php
, pero el constructor espera un objetoRequest
. Para solucionar este problema, debes pasar un objetoRequest
al constructor en lugar de la variable$data
.Por ejemplo, podrías modificar el método
run
enGetAllDataTask.php
para que se vea así:public function run(Request $request)
{
$this->repository->pushCriteria(new RequestCriteria($request));
}
Esto debería solucionar el problema.