Join with three tables Laravel QueryBuilder

0

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

    
asked by anonymous 18.08.2018 / 20:14

0 answers