最大日期的Laravel子查询-与父项的子查询链接中的datetime格式无效
以下查询返回上述错误:最大日期的Laravel子查询-与父项的子查询链接中的datetime格式无效,laravel,postgresql,laravel-query-builder,Laravel,Postgresql,Laravel Query Builder,以下查询返回上述错误: $readings = MeterReading::where('meters_readings.meter_id', $m->meter_id) ->where('meters_readings.read_local_at', '>=', function($query) use ($m) { $query->selectRaw('MAX(flow_readings.read_local_at)')
$readings = MeterReading::where('meters_readings.meter_id', $m->meter_id)
->where('meters_readings.read_local_at', '>=', function($query) use ($m) {
$query->selectRaw('MAX(flow_readings.read_local_at)')
->from('flow_readings')
->where('flow_readings.meter_id', $m->meter_id)
->where('flow_readings.read_local_at', '<=', 'meters_readings.read_local_at');
})->orderBy('meters_readings.read_local_at', 'DESC')
->first();
$readings=MeterReading::其中('meters\u readings.meter\u id',$m->meter\u id)
->其中('meters\u reads.read\u local\u at','>=',函数($query)use($m){
$query->selectRaw('MAX(flow\u reads.read\u local\u at'))
->from(‘流量读数’)
->其中('flow_Reads.meter_id',$m->meter_id)
->其中('flow_reads.read_local_at',”我从中得到了上面的答案。将Raw
添加到子查询时间戳比较中修复了它
$readings = MeterReading::where('meters_readings.meter_id', $m->meter_id)
->where('meters_readings.read_local_at', '>=', function($query) use ($m) {
$query->selectRaw('MAX(flow_readings.read_local_at)')
->from('flow_readings')
->where('flow_readings.meter_id', $m->meter_id)
->whereRaw('flow_readings.read_local_at <= meters_readings.read_local_at');
})->orderBy('meters_readings.read_local_at', 'DESC')
->first();
$readings=MeterReading::其中('meters\u readings.meter\u id',$m->meter\u id)
->其中('meters\u reads.read\u local\u at','>=',函数($query)use($m){
$query->selectRaw('MAX(flow\u reads.read\u local\u at'))
->from(‘流量读数’)
->其中('flow_Reads.meter_id',$m->meter_id)
->whereRaw('flow_readings.read_local_at Thank@miken32),我改变了问题,因为现在子查询父timestamp.FWIW出现了问题,这似乎可以通过使用雄辩的关系使用更干净的代码来完成。