1
resposta

Dúvida em como fazer consuslta com Eloquent ORM

Boa noite a todos,

Estou tentando fazer uma consulta com o Eloquent ORM mas não dei conta.

Eu tenho as seguintes tabelas: - Paciente (paciente_id, nome) - Medico (medico_id, nome) - Consulta (id, paciente_id,medico_id, hora, data).

Eu quero fazer uma consulta onde o cliente pode ou não informar o id do medico, pode informar ou nao o nome do paciente (quero fazer uma consulta usando like) e a data da consulta.

Como fazer?

Att. Vinicius

1 resposta

Oi Vinicius, para isso você precisará realizar alguns joins na sua query. Uma possibilidade boa é utilizar o query builder. Ficaria algo parecido com:

// aqui selecionamos pelo id do médico =)
DB::table('Consulta')
        ->join('Medico', function($join)
        {
            $join->on('medico.id', '=', 'consulta.medico_id');
        })
        ->get();

// aqui selecionamos pelo nome do paciente com like
DB::table('Consulta')
        ->join('Paciente', function($join)
        {
            $join->on('nome', 'like', '%' . Input::get('nome') . '%');
        })
        ->get();

Caso a sintaxe do query builder não te agrade, você também pode fazer a query toda na mão com raw expressions =)