Gostaria de uma ajuda sobre consultas no Laravel, minha duvida é como ficaria esta consulta logo abaixo no Eloquent Laravel?
select * from fluxos where ordem =
(select min(ordem) from ordems where ordem > 1)
Gostaria de uma ajuda sobre consultas no Laravel, minha duvida é como ficaria esta consulta logo abaixo no Eloquent Laravel?
select * from fluxos where ordem =
(select min(ordem) from ordems where ordem > 1)
Qual é a versão do seu Laravel?
Basicamente no Laravel versão 7x vide documentação
Fluxos::where('ordem', function($q){
$q->selectRaw('min(ordem)')->from('ordems')->where('ordem','>',1)
})->get();
apesar que esse exemplo não tenho certeza tem mais fatores que podem dar errado, mas, basicamente é isso.
a minha versão é a 5.6
Não deu certo Dragoon,
Bom! estive estudando aki melhor e achei uma solução mais agora eu preciso passar um parametro para dentro da função e esta dando erro! estou fazendo da seguinte forma!
$fluxo = Fluxo::where('ordem', function ($q, $value) {
$q->selectRaw('min(ordem)')->from('fluxos')->where('ordem', '>', $value);
})->first();
Claro que deu neh! olha a sua resposta!
É assim que faz:
$value = 1; // seta a variável
// passa com use na função anonima
$fluxo = Fluxo::where('ordem', function ($q) use ($value) {
$q->selectRaw('min(ordem)')->from('fluxos')->where('ordem', '>', $value);
})->first();