Pues acabo de limpiar todo para hacer la prueba y sigo con los mismos resultados, asi es como quedaron los modelos y el controlador, practicamente nada.
Modelo Inventario:
Código PHP:
Ver original<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\ModelNotFoundException;
class Inventario extends Model
{
protected $table = 'inventario_2';
protected $casts = array( 'ids' => 'array',
);
public function getProductos(){
return $this->hasManyThrough('App\Productos', 'App\InventarioProductosPivote',
'inventario_id', 'id', 'id', 'producto_id');
}
public function Ventas(){
return $this->hasMany('App\Ventas', 'inventario_id');
}
}
Modelo Ventas:
Código PHP:
Ver original<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Ventas extends Model
{
public function getInventario(){
return $this->hasOne('App\Inventario', 'id', 'inventario_id');
}
public function Pagos(){
return $this->hasMany('App\Pagos', 'venta_id');
}
public function Articulos(){
return $this->hasMany('App\VentaArticulos', 'venta_id');
}
}
Controlador:
Código PHP:
Ver original<?php
namespace App\Http\Controllers;
use App\Inventario;
use Illuminate\Http\Request;
class InventarioController extends Controller
{
public function detalle_evento($evento_id, $vendedor = false){
return Inventario::where('id', $evento_id)->when($vendedor, function ($query, $vendedor){
$query->with(['Ventas' => function($query) use($vendedor){
$query->where('vendedor', $vendedor);
}, 'Ventas.Articulos']);
}, function ($query){
$query->with('Ventas', 'Ventas.Articulos');
})->first();
}
public function detalle_evento_view_imprimir($evento_id, Request $request){
return $evento = $this->detalle_evento($evento_id, $request->vendedor);// si hago el return aqui el filtro se respeta
return $evento->ventas;// si hago el return aqui el filtro se ignora , porque???'
}
}