Hi @sebdesign, thanks for your answer. I don't think that's quite what i'm looking for. I need a structure like this: (sorry I couldn't figure out how to format that JSON string, but you can use some online JSON viewer to parse it)
{"id":1,"ef_id":"110","origen":"Haciendas","ext_id":"1","fecha_inicio":"2015-11-18 08:09:14","fecha_fin":"0000-00-00 00:00:00","id_solicitante":"erojas","nombre_solicitante":"Enrique Rojas","id_cc":"1234","nombre_cc":"Itulcachi","descripcion":"Requisici\u00f3n de prueba","prioridad":"N","estado":"A","lineas":[{"id":1,"requisicion":1,"ext_id":"1","id_producto":1,"observacion":"Verificar que sean palas anaranjadas","cant_sol":15,"cant_oc":0,"cant_rec":0,"valor_sol":0,"valor_oc":0,"valor_rec":0,"producto":{"id":1,"codigo":"0001","origen":"Haciendas","nombre":"Pala met\u00e1lica","observacion":"","precio_promedio":0,"dias_promedio":0}},{"id":2,"requisicion":1,"ext_id":"2","id_producto":2,"observacion":"Por favor comprar el que sabe a pino","cant_sol":10,"cant_oc":0,"cant_rec":0,"valor_sol":0,"valor_oc":0,"valor_rec":0,"producto":{"id":2,"codigo":"0002","origen":"Haciendas","nombre":"Glifosato 1 litro","observacion":"","precio_promedio":0,"dias_promedio":0}},{"id":3,"requisicion":1,"ext_id":"3","id_producto":3,"observacion":"Para pasar el mal sabor del pino","cant_sol":20,"cant_oc":0,"cant_rec":0,"valor_sol":0,"valor_oc":0,"valor_rec":0,"producto":{"id":3,"codigo":"0003","origen":"Haciendas","nombre":"Bid\u00f3n de agua","observacion":"","precio_promedio":0,"dias_promedio":0}}]}
I think your query is returning only the Products, not the full structure (its similar to an Invoice which has Lines, which have a product each). Do you have any other approach? Playing with it for a while got to this:
$cabecera = self::where("ef_id",$ef_id)->first();
$cabecera->lineas;
foreach ($cabecera->lineas as $linea) {
$linea->producto;
}
return $cabecera;