Cargando

lxevilx

  • Registrado
    16 mar 2016
  • Respuestas
    18
  • Tutoriales
    0
  • Última actividad
    dic 24 2018 23:10

Respuestas realizadas

En tema: Utilizar una variable para instanciar una clase

13 noviembre 2018 - 15:30

Gracias a todos. 

Encontré la respuesta, después de analizar todos los errores que arrojaban muchos casos de prueba. Al fin conseguí la funcionalidad que deseaba y comparto con ustedes, si alguien mas se encuentra en el mismo problema.

 

Solución: 

 

 

  1. public function update($id, $data, $table){
  2. return $table::find($id)->update($data);
  3. }

 

En la función agregue las siguientes lineas de código

         $instancia = trim("App\Entities\ ").$table;
         $obj=new $instancia;
         return $obj::find($id);

*Donde ("App\Entities\ ") es la ubicación del modelo a referenciar, notese que hay un espacio, es porque en laravel el backslash(/) lo trata de diferente manera al lado de un carácter especial. El trim es para eliminar ese espacio en blanco y concatenarlo con la variable donde esta el nombre de la tabla, por lo demás ya se puede manejar de manera dinámica la instanciacion de un modelo.

 

Es la manera en la cual logre solucionar. Espero que les sirva, saludos!