Я сталкиваюсь с этой проблемой с Laravel 5.8. Я сделал левое соединение в подзапросе, чтобы принести некоторые записи. Дело в том, что когда я dd ($ importadosot) не имеет никаких записей на нем. Но когда я регистрирую запрос и помещаю все параметры там, где они go на mysql верстак, он приносит записи. Я что-то упустил?
$subqRepetidos = Ot::select('abonado', DB::raw('COUNT(abonado) as CantidadRepetido') )
->whereNotNull('fecha_reparado')
->whereBetween('fecha',
[ "'" . date( 'Y-m-d',$AntiguedadRepetido) . " 00:00:00'", "'" . date('Y-m-d') . " 23:59:00'"])
->groupBy('abonado')
->having('CantidadRepetido', '>', '1');
$importadosot = DB::table('importados_ot')
->leftJoinSub($subqRepetidos, 'subqrepetidos',
function ($join)
{
$join->on('importados_ot.abonado', '=', 'subqrepetidos.abonado');
})
->select('importados_ot.*',
DB::raw("CASE WHEN subqrepetidos.CantidadRepetido IS NULL THEN 'No Repite'
WHEN subqrepetidos.CantidadRepetido > 1 THEN 'Repetido 1'
ELSE 'Repetido > 1' END as repetido"),
DB::raw("CASE WHEN importados_ot.tipo_ot = 'Aseg P Ext' THEN 'Abono'
ELSE 'Alta' END as desc_tipo_ot"),
DB::raw("DATEDIFF( importados_ot.fecha, importados_ot.fecha_ingreso) AS tmr"))
->where('importados_ot.fecha','=', "'" . date('Y-m-d'). " 00:00:00'")
->get();
Журнал запросов выводит следующее:
array:1 [▼
0 => array:3 [▼
"query" => """
select `importados_ot`.*, CASE WHEN subqrepetidos.CantidadRepetido IS NULL THEN 'No Repite'
WHEN subqrepetidos.CantidadRepetido > 1 THEN 'Repetido 1'
ELSE 'Repetido > 1' END as repetido, CASE WHEN importados_ot.tipo_ot = 'Aseg P Ext' THEN 'Abono'
ELSE 'Alta' END as desc_tipo_ot, DATEDIFF( importados_ot.fecha, importados_ot.fecha_ingreso) AS tmr from `importados_ot` left join (select `abonado`, COUNT(abonado) as CantidadRepetido from `ot` where `fecha_reparado` is not null and `fecha` between ? and ? group by `abonado` having `CantidadRepetido` > ?) as `subqrepetidos` on `importados_ot`.`abonado` = `subqrepetidos`.`abonado` where `importados_ot`.`fecha` = ? ◀
"""
"bindings" => array:4 [▼
0 => "'2020-01-04 00:00:00'"
1 => "'2020-02-13 23:59:00'"
2 => "1"
3 => "'2020-02-13 00:00:00'"
]
"time" => 8.92
]
]