Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2016, 13:39
mixzplit
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 11 meses
Puntos: 2
Relacion de Modelos y Alias

Hola compañeros, soy nuevo usando el Framework Laravel, estoy usando la version LTS 5.1.
Estoy creando una API que me toco hacer en el trabajo y tengo un problema al momento de usar alias en mis consultas con Eloquent, se preguntaran para usar alias, bueno en mi caso lo requiere bastante, bueno coloco aqui mi codigo:

Código PHP:

        $products 
ApiRestProductos::select('PRO_EMPRESA as empresa''PRO_CODIGO as codigo'
                        
'PRO_NOMBRE as nombre''PRO_DESCRI as descripcion''PRO_TIPPREC as tipo_precio'
                        
'PRO_CODUND as unidad_medida''PRO_TIPIVA as tipo_iva''PRO_CATEGORIAS as categorias'
                        
'PRO_RUTAIMG as ruta_img''PRO_ACTIVO as activo_inactivo')
                ->
with(['precio' => function($query){
                    
$query->select('PRE_CODPRO','PRE_CODLIS','PRE_MONTO');
                  }])
                ->
get(); 
Aqui me pasa algo curioso, en ese codigo, me muestra todos los datos del select(), es decir de la consulta a la primera tabla, pero no me muestra los datos del modelo de precios que en mi caso llamo al metodo "precio", solo muestra un array vacio. Tambien sucede que si quito toda la parte del select() y dejo solo los campos que quiero de la tabla de precio, me muestra todo bien pero sin los alias y es necesario que los campos tengan alias.

El metodo de mi modelo es este:

Código PHP:
        public function precio()
    {
        return 
$this->hasMany('ApiRest\Precios''PRE_CODPRO''PRO_CODIGO');
    } 
la respuesta que obtengo de esto es la siguiente:

Código PHP:

{
  
"estado""correcto",
  
"code"200,
  
"products": [
    {
      
"empresa""000001",
      
"codigo""0000000002",
      
"nombre""Prueba",
      
"descripcion""Prueba",
      
"tipo_precio""A",
      
"unidad_medida""UND",
      
"tipo_iva""GN",
      
"categorias"17,
      
"ruta_img""imagen.jpg",
      
"activo_inactivo"1,
      
"precio": []
    }
   ]

Espero puedan ayudarme con esto.

Saludos