简体   繁体   English

如何在laravel 5.5中加入子查询?

[英]How is a subquery with join in laravel 5.5?

I have a table that has two relationship with other table but the same field. 我有一个表与其他表有两个关系,但相同的字段。

For example: 例如:

first_user_in_comment_id & last_user_in_comment_id

so these fields has relation with the name user name_user 所以这些字段与名称user name_user

My laravel version is 5.5 我的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();

You can use DB::raw for example: 您可以使用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')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM