如何在 Laravel 中执行此 JOIN 查询?

How to do this JOIN query in Laravel?

我正在尝试加入 laravel 查询生成器,但它抛出错误。我正在使用 Mysql 数据库。 这是我的 sql:

select c.*, d.* from notas_cabecera c
join notas_detalle d on (c.codigo_nota = d.codigo_nota)
where c.codigo_nota in (select r.codigo_nota from reportes r); 

这是我的 laravel 查询:

$lista_reportes = DB::table('notas_cabecera')
                              ->join('notas_detalle', 'notas_cabecera.codigo_nota', '=', 'notas_detalle.codigo_nota')
                              ->whereIn('notas_cabecera.codigo_nota', function($query)
                              {
                                    $query->select(
                                              DB::table('reportes')->select('reportes.codigo_nota')
                                            );
                              })
                              ->get();

我做错了什么?请帮忙

$lista_reportes = DB::table('notas_cabecera')
                              ->join('notas_detalle', 'notas_cabecera.codigo_nota', '=', 'notas_detalle.codigo_nota')
                              ->whereIn('notas_cabecera.codigo_nota', function($query)
                              {
                                    $query
                                        ->select('reportes.codigo_nota')
                                        ->from('reportes');
                              })
                              ->get();