I'm trying to calculate the average sales value of a store, but I'm having some problems calculating the total value of each sale,
Controller:
$valor_total = PedidoProdutos::with('valor_por_pedido')->get();
Model:
use Illuminate\Database\Eloquent\Model;
class PedidoProdutos extends Model
{
protected $table = 'pedido_produtos';
protected $fillable = [
'pedido_id', 'produto_id', 'valor', 'quantidade'
];
public function pedido()
{
return $this->belongsTo(Pedido::class, 'pedido_id', 'id');
}
public function valor_por_pedido()
{
return $this->selectRaw('pedido_id, SUM(valor * quantidade) as total')
->groupBy('pedido_id');
}
public function media_de_vendas()
{
return $this->valor_por_pedido()->avg('total');
}
}
Error:
Call to undefined method Illuminate\Database\Query\Builder::addEagerConstraints()