SQL query for Laravel

0

This is the example of the query sql , I am trying to do the same query in Laravel if you can help thanks.

  

SELECT p.nome,(select min(op.preco_unitario) from opcao_produto op where p.id = op.produto_id) preco from produto p WHERE (select min(op.preco_unitario) from opcao_produto op where p.id = op.produto_id) BETWEEN 202 and 1000

    
asked by anonymous 11.01.2018 / 20:48

1 answer

0

I tried to convert this same query using mainly the raw / p>

Of course this can be much more optimized!

The result was this (did not test) :

DB::select(
        DB::raw('p.nome'),
        DB::raw('(select min(op.preco_unitario) from opcao_produto op where p.id = op.produto_id)'),
        'preco'
    )->from(DB::raw('produto p'))
    ->whereRaw('(select min(op.preco_unitario) from opcao_produto op where p.id = op.produto_id)')
    ->whereBetween('COLUNA', [202, 1000])->get();
    
11.01.2018 / 21:04