Verán tengo la siguiente función para obtener los detalles de un inventario y sus ventas filtrado o no por vendedor
Relacion en inventario:
Código PHP:
Funcion en controladorVer original
public function Ventas(){ return $this->hasMany('App\Ventas', 'inventario_id'); }
Código PHP:
Ver original
public function detalle_evento($inventario_id, $vendedor = false){ $inventario = Inventario::where('id', $inventario_id); if($vendedor){ $inventario = $inventario->with(['Ventas' => function($query) use($vendedor){ $query->where('vendedor', $vendedor); }]); }else{ $inventario = $inventario->with('Ventas'); } return $inventario->first(); }
Hasta aqui todo Ok, mando llamar la funcion dentro de otra funcion que genera la vista y hago un return en ese momento para verificar los datos, me las ventas filtradas por ID de vendedor en json dado que no he imprimido la vista.... Magnifico
![Porras](http://static.forosdelweb.com/fdwtheme/images/smilies/porra.gif)
Código PHP:
Ver original
return $evento = $this->detalle_evento($inventario_id, $request->vendedor);
Pero requiero hacer un par de operaciones extra
Código PHP:
Ver original
foreach ($evento->ventas as $venta) { //.... aqui mis operaciones } return $evento;
![ojotes](http://static.forosdelweb.com/fdwtheme/images/smilies/ojotes.png)
he intentado crear un array independiente utilizando el mismo foreach conque hago las operaciones extra, pero obvio no funciona, al hacer el foreach ya tiene todo sin filtrar.
Inclusive a modo de prueba hice esto, todo bien, filtrado como debe.
Código PHP:
Ver original
public function test(){ return $evento = $this->detalle_evento(1, 4); }
Luego esto, ERROR, datos sin filtrar.
Código PHP:
Ver original
public function test(){ $evento = $this->detalle_evento(1, 4); return $evento->ventas; }
En el momento que doy entre a la siguiente linea ya me muestra todo sin filtrar