May 21, 2024
0
Level 1
Transform a join with subquery into eager load
Need help to transform this piece of code into eager load
I'm not sure if it's possible as I understand it should start from PRODUCAO_EQUIPAMENTO_OCUP however it binds to the main model EQUIPAMENTOS by another model other than the one that started the relation
$this->equipamento
[... a lot of queries]
then...
->leftJoinSub(DB::table('PRODUCAO_EQUIPAMENTO_OCUP as PEO')
->select([
'PR.DESCRICAO',
'PRD.QTDE',
'EQ.ID_EQUIPAMENTO',
'PRD.DATA_INICIO',
'PRD.DATA_FIM',
'PRD.CUSTO',
'PRD.STATUS',
])
->join('EQUIPAMENTO_OCUPACAO as EO', 'EO.ID_EQUIPAMENTO_OCUPACAO', 'PEO.ID_EQUIPAMENTO_OCUPACAO')
->join('EQUIPAMENTOS as EQ', 'EQ.ID_EQUIPAMENTO', 'EO.ID_EQUIPAMENTO')
->join('PRODUCAO as PRD', 'PRD.ID_PRODUCAO', 'PEO.ID_PRODUCAO')
->join('PRODUTOS as PR', 'PR.ID_PRODUTOS', 'PRD.ID_PRODUTO')
->where('PEO.EM_USO', 1),
'PROD', 'PROD.ID_EQUIPAMENTO', 'EQUIPAMENTOS.ID_EQUIPAMENTO'))
Please or to participate in this conversation.