gssj85's avatar

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'))
0 likes
0 replies

Please or to participate in this conversation.