У меня есть этот запрос
select est.*, bf.followup as bf_follow, bf.unidad as bf_unidad, bu.unidad as bu_unidad, bu.asistencia as bu_asistencia, bu.calificacion as bu_calificacion
from estudiantes as est
inner join bluecard as bc on bc.estudiante = est.usuario_id
inner join beneficiarios as bene on bene.usuario_creado = est.usuario_id
inner join (
select bluecard, followup, unidad
from bluecard_followups
order by bf_id desc
) bf on (bf.bluecard = bc.bc_id)
left join (
select bluecard, unidad, asistencia, calificacion
from bluecard_unidades
order by bu_id desc
) bu on (bu.bluecard = bc.bc_id)
where bc.status = 1
group by est.usuario_id
limit 500
Я знаю, как создавать соединения с помощью eloquent, но я не знаю, как их написать.
С кем-нибудь подобное случалось?
Кому-нибудь нужен такой запрос с laravel?
Помоги мне!
Спасибо
РЕДАКТИРОВАТЬ
я запускаю запрос так:
$estudiantes = Estudiantes::select(
DB::raw("select est.*, bene.contrato as nro_contrato, bf.followup as bf_follow, bf.unidad as bf_unidad, bu.unidad as bu_unidad, bu.asistencia as bu_asistencia, bu.calificacion as bu_calificacion
from estudiantes as est
inner join bluecard as bc on bc.estudiante = est.usuario_id
inner join beneficiarios as bene on bene.usuario_creado = est.usuario_id
inner join (
select bluecard, followup, unidad
from bluecard_followups
order by bf_id desc
) bf on (bf.bluecard = bc.bc_id)
left join (
select bluecard, unidad, asistencia, calificacion
from bluecard_unidades
order by bu_id desc
) bu on (bu.bluecard = bc.bc_id)
where bc.status = 1
group by est.usuario_id
limit 500"))
->get();
и я получил эту ошибку:
Похоже, вам не нужно объединение, но союз.
Таким образом, вы просто выполняете текущие два запроса на соединение в отдельных запросах и затем используете функцию объединения, чтобы применить их к другому запросу.
Других решений пока нет …