laravel 5.5 中带有 join 的子查询如何?

How is a subquery with join in laravel 5.5?

我有一个 table 与其他 table 有两个关系,但字段相同。

例如:

first_user_in_comment_id & last_user_in_comment_id

所以这些字段与用户名有关 name_user

我的laravel版本是5.5

 $conseguirTabla = DB::table('ALUMNOS_HISTORIAL_COMENTARIOS')   
        ->JOIN('CICLOS_ESCOLARES','CICLOS_ESCOLARES.ID','=','ALUMNOS_HISTORIAL_COMENTARIOS.CICLO_ID')
        ->JOIN('USUARIOS','USUARIOS.ID','=','ALUMNOS_HISTORIAL_COMENTARIOS.USUARIO_ID')
       ->JOIN('USUARIOS','USUARIOS.ID','=','ALUMNOS_HISTORIAL_COMENTARIOS.USUARIO_MODIFICACION_ID')
            ->SELECT('USUARIOS.NOMBRE AS NOMBRE', 
                    'CICLOS_ESCOLARES.CICLO_ESCOLAR AS CICLO_ESCOLAR',
                    'ALUMNOS_HISTORIAL_COMENTARIOS.FECHA_COMENTARIO AS FECHA_COMENTARIO',
                    'ALUMNOS_HISTORIAL_COMENTARIOS.COMENTARIO AS COMENTARIO',
                    'ALUMNOS_HISTORIAL_COMENTARIOS.USUARIO_MODIFICACION_ID AS MODIFICACION'
            )   

            ->WHERE('ALUMNO_ID',$idAlumno)         
            ->get();

您可以使用 DB::raw 例如:

       ->JOIN(\DB::raw('USUARIOS as x'),'x.ID','=','ALUMNOS_HISTORIAL_COMENTARIOS.USUARIO_MODIFICACION_ID')
       ->JOIN(\DB::raw('(select * from USUARIOS) as y'),'y.ID','=','ALUMNOS_HISTORIAL_COMENTARIOS.USUARIO_MODIFICACION_ID')