Laravel - Duvida Exibição de registro na view

2 respostas
laravel
Cleiton_Conceicao

Eu sou obrigado a utilizar sempre o foreach toda vez que precisa exibir um registro na view?

Porque tipo tenho uma situação que irá lista apenas 1 único registro então não vejo a necessidade de utilizar um foreach.

Exemplo:

Esse código irá retornar uma única linha.

$qtdpaciente  = DB::table('pacientes')
        ->select(DB::raw('count(*) as qtdPaciente'))
        ->where('pacientes.emp_codigo', '=', session('empresa_id'))
        ->get();

2 Respostas

Dragoon

em vez de utilizar get() que retorna uma coleção utilize first() que vai retornar NULL ou um objeto com a quantidade de campos que foram pedidos.

Exemplo:

$qtdpaciente = DB::table('pacientes')
        ->select(DB::raw('count(*) as qtdPaciente'))
        ->where('pacientes.emp_codigo', '=', session('empresa_id'))
        ->first();

echo $qtdpaciente->qtdPaciente;

Ref. https://laravel.com/docs/5.8/queries#retrieving-results


ou ainda melhor, de uma forma direta, saindo dado puro na variável:

$qtdpaciente = DB::table('pacientes')
        ->where('pacientes.emp_codigo', '=', session('empresa_id'))
        ->count();

echo $qtdpaciente;

Ref. https://laravel.com/docs/5.8/queries#aggregates

Cleiton_Conceicao

Obrigado pela dica!
:raised_hands:

Criado 18 de junho de 2019
Ultima resposta 18 de jun. de 2019
Respostas 2
Participantes 2