Average sales ticket using AVG Laravel

0

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()

    
asked by anonymous 07.07.2018 / 15:51

0 answers