I'm trying to do a join with three tables
I have a table with county code, a table with the name of the county and a table with the names of the states
I need to get the name of the municipality of one table and the name of the state in another
I'm using Query builder Laravel
I've tried it like this:
$carga_horaria = DB::table('estudantes_carga_horaria')
->leftJoin('escolas_ano_ciclo', 'escolas_ano_ciclo.id', '=', 'estudantes_carga_horaria.etapa_ensino_id')
->leftJoin('escolas_identificacao', 'escolas_identificacao.id', '=', 'estudantes_carga_horaria.escolas_identificacao_id')
->leftJoin('diversos_municipios', function($join)
{
$join->on('diversos_municipios.id', '=', 'escolas_identificacao.diversos_municipios_id');
$join->on('diversos_municipios.uf_id', '=', 'diversos_uf.id');
}
)
->select(
'estudantes_carga_horaria.id',
'estudantes_carga_horaria.estudantes_identificacao_id',
'estudantes_carga_horaria.ano_letivo',
'estudantes_carga_horaria.etapa_ensino_id',
'estudantes_carga_horaria.escolas_identificacao_id',
'escolas_identificacao.nome AS nome_escola',
'escolas_identificacao.diversos_municipios_id',
'diversos_municipios.nome AS nome_municipio',
)
->orderBy('estudantes_carga_horaria.etapa_ensino_id')
->where('estudantes_identificacao_id', $estudante_id)
->get()
It gives error that diverse_uf.id does not exist